时间:2016-02-15 22:58 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【一个简单的自定义程序日志小样例】,下面是详细的讲解!
一个简单的自定义程序日志小样例
using System;
using System.IO;
using System.Text;
public class LogInfo
{
private string ErrorInfo_User=""; // 记录用户自定义错误信息
private string ErrorPosition=""; // 记录错误的位置信息,可包括类、函数等
private string ErrorInfo_Sys=""; // 记录系统产生的异常错误信息
// 记录日志信息
public void RecordErrorInfo(string Position, string Error_Sys, string Error_User)
{
ErrorPosition=Position;
ErrorInfo_Sys=Error_Sys;
ErrorInfo_User=Error_User;
}
// 自定义日志信息格式
private string GetLogContent()
{
string LogContent="\r\n--------------------------------------------------------------------------\r\n";
LogContent +="[自定义异常日志][" + DateTime.Now.ToString() + "]\r\n";
LogContent +="=>[Position]=>[" + ErrorPosition + "]\r\n";
LogContent +="=>[UserInfo]=>[" + ErrorInfo_User + "]\r\n";
LogContent +="=>[SysInfo]=>[" + ErrorInfo_Sys + "]\r\n";
LogContent +="--------------------------------------------------------------------------\r\n";
return LogContent;
}
// 保存日志信息到文件
public void SaveLogToFile()
{
try
{
// get the file path of the log.
string FileName=@"log/LogInfo_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
// get the content of the log.
string LogContent=GetLogContent();
// create the stream of the log file and save the log.
FileStream smLog=new FileStream(FileName, FileMode.Append, FileAccess.Write);
// if the stream is correct.
if (smLog !=null)
{
long lFileContentLen=smLog.Length;
smLog.Lock(0, lFileContentLen);
byte[] buffer=Encoding.GetEncoding("gb2312").GetBytes(LogContent);
smLog.Write(buffer, 0, buffer.Length);
smLog.Unlock(0, lFileContentLen);
smLog.Flush();
smLog.Close();
}
}
catch
{ }
}
}
public class LogExample
{
private LogInfo _Log=new LogInfo();
// 某处理函数一
public void Function_First()
{
try
{
// do something which could be occur exception.
}
catch (Exception error)
{
_Log.RecordErrorInfo("函数Function_First", error.Message.ToString(), "执行函数Function_First时,发生异常!");
_Log.SaveLogToFile();
}
}
// 某处理函数二
public void Function_Second()
{
try
{
// do something which could be occur exception.
}
catch (Exception error)
{
_Log.RecordErrorInfo("函数Function_Second", error.Message.ToString(), "执行函数Function_Second时,发生异常!");
_Log.SaveLogToFile();
}
}
}
class Program
{
static void Main(string[] args)
{
// 创建内建了日志的对象
LogExample Le=new LogExample();
// 执行处理操作一
Le.Function_First();
// 执行处理操作二
Le.Function_Second();
}
}
关于一个简单的自定义程序日志小样例的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 【记住】ASP.NET记住登陆用户名的具体实现-登陆-
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
