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