C#添加错误日志信息

错误日志是软件用来记录运行时出错信息的文本文件。编程人员和维护人员等可以利用错误日志对系统进行调试和维护。

系统日志

系统日志包含了由Windows系统组件记录的事件。例如,在启动期间装入驱动程序或其他系统组件失败被记录到系统日志。要查看系统日志:
  1. 打开命令提示符。
  2. 在提示符下输入eventvwr。这打开了Windows事件查看器。

应用程序日志

应用程序日志包含了由应用程序或程序记录的事件。例如,数据库程序可能在应用程序日志中记录一个文件错误。要查看应用程序日志:
  1. 打开命令提示符。
  2. 在提示符下输入eventvwr。这打开了Windows事件查看器。

解释日志信息

在两种日志中,每个事件按照日期和时间顺序(首先是最近的)分行显示,带有下列信息:
  • 类型:事件类型,可以是信息、警告或错误。
  • 日期和时间:事件被写入日志的日期和时间。
  • 源:引起该事件的操作。
  • 类别:事件的类别。缺省类别是无。
  • 事件:事件编号。
  • 用户:事件发生时的用户名。
  • 计算机:本地机器的名称。
查看单个日志条目:
1 在系统或应用程序日志中,查找日志条目。
2 右键单击条目。
在WindowsWindowsServer 2008 中,单击事件以打开“事件属性”窗口。
该窗口显示事件的描述。选择“详细信息”选项卡可以查看将记录写入日志时解析的字节或字。
3 使用向上和向下箭头键上下移动以查看日志事件。
4 要关闭窗口,请单击确定以返回到系统日志或应用程序日志 

C#中自定义日志

为了方便清晰得看到程序中的错误和不足的地方,记录错误日志是非常有必要的。

废话不多说,直接上代码,关键代码都有注释,不理解的可以留言提出.

private static StreamWriter streamWriter; //写文件  
        //将错误信息写入文件中
        public static void WriteError(string message)
        {
            try
            {
                //DateTime dt = new DateTime();
                string directPath = Environment.CurrentDirectory + "\\ErrorLog";    //在获得文件夹路径(根据你们自己的实际情况去写错误日志文件夹路径)
                if (!Directory.Exists(directPath))   //判断文件夹是否存在,如果不存在则创建
                {
                    Directory.CreateDirectory(directPath);
                }
                directPath += string.Format(@"\{0}.log", DateTime.Now.ToString("yyyy-MM-dd"));
                if (streamWriter == null)
                {
                    streamWriter = !File.Exists(directPath) ? File.CreateText(directPath) : File.AppendText(directPath);    //判断文件是否存在如果不存在则创建,如果存在则添加。
                }
                streamWriter.WriteLine("***********************************************************************");
                streamWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
                streamWriter.WriteLine("输出信息:错误信息");
                if (message != null)
                {
                    streamWriter.WriteLine("异常信息:\r\n" + message);
                }
            }
            finally
            {
                if (streamWriter != null)
                {
                    streamWriter.Flush();
                    streamWriter.Dispose();
                    streamWriter = null;
                }
            }
        }

 

ok,今天的分享就到这里了,有疑问的欢迎留言!

posted @ 2019-07-13 11:45  Tulip123  阅读(1701)  评论(0编辑  收藏  举报