手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >一个简单的自定义程序日志小样例
一个简单的自定义程序日志小样例
摘要:复制代码代码如下:usingSystem;usingSystem.IO;usingSystem.Text;publicclassLogInf...

复制代码 代码如下:

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 = "rn--------------------------------------------------------------------------rn";

LogContent += "[自定义异常日志][" + DateTime.Now.ToString() + "]rn";

LogContent += "=>[Position]=>[" + ErrorPosition + "]rn";

LogContent += "=>[UserInfo]=>[" + ErrorInfo_User + "]rn";

LogContent += "=>[SysInfo]=>[" + ErrorInfo_Sys + "]rn";

LogContent += "--------------------------------------------------------------------------rn";

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.NET实现简单的文字水印

简单好用的ASP.NET分页类(支持AJAX、自定义文字)

ASP.NET:一段比较经典的多线程学习代码

ASP.NET页面按钮单击事件失效的解决方法

在.NET2.0中使用自定义事务操作

浅谈ASP.NET中最简单的自定义控件

[c#]asp.ent下开发中Tag的开发技巧

asp.net动态加载自定义控件的方法

asp.net中eval不能定义变量的问题的解决方法

ASP.Net生成一个简单的图片

精品推荐
分类导航