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(); } }
(编辑:河池站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|