一个简单的自定义程序日志小样例_asp.net教程-查字典教程网
一个简单的自定义程序日志小样例
一个简单的自定义程序日志小样例
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下: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教程学习
    编程开发子分类