C# 如何添加错误日志信息

 更新时间:2020年11月16日 09:14:32   作者:Tulip123  
这篇文章主要介绍了C# 如何添加错误日志信息,错误日志是软件用来记录运行时出错信息的文本文件。编程人员和维护人员等可以利用错误日志对系统进行调试和维护。

系统日志

系统日志包含了由Windows系统组件记录的事件。例如,在启动期间装入驱动程序或其他系统组件失败被记录到系统日志。要查看系统日志:

  1. 打开命令提示符。
  2. 在提示符下输入eventvwr。这打开了Windows事件查看器。

应用程序日志

应用程序日志包含了由应用程序或程序记录的事件。例如,数据库程序可能在应用程序日志中记录一个文件错误。要查看应用程序日志:

  1. 打开命令提示符。
  2. 在提示符下输入eventvwr。这打开了Windows事件查看器。

解释日志信息

在两种日志中,每个事件按照日期和时间顺序(首先是最近的)分行显示,带有下列信息:

  1. 类型:事件类型,可以是信息、警告或错误。
  2. 日期和时间:事件被写入日志的日期和时间。
  3. 源:引起该事件的操作。
  4. 类别:事件的类别。缺省类别是无。
  5. 事件:事件编号。
  6. 用户:事件发生时的用户名。
  7. 计算机:本地机器的名称。

查看单个日志条目:
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,今天的分享就到这里了,有疑问的欢迎留言!

以上就是C# 如何添加错误日志信息的详细内容,更多关于c# 添加错误日志信息的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现功能强大的中国农历日历操作类

    C#实现功能强大的中国农历日历操作类

    这篇文章主要介绍了C#实现功能强大的中国农历日历操作类,实例分析了C#操作时间及字符串的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C#对Json进行序列化和反序列化

    C#对Json进行序列化和反序列化

    这篇文章介绍了C#对Json进行序列化和反序列化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# 设计模式系列教程-观察者模式

    C# 设计模式系列教程-观察者模式

    将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。观察者就是解决这类的耦合关系的。
    2016-06-06
  • 通过LinQ查询字符出现次数的实例方法

    通过LinQ查询字符出现次数的实例方法

    这篇文章主要介绍了通过LinQ查询字符出现次数的实例方法,大家参考使用吧
    2013-11-11
  • C#编程自学之数据类型和变量二

    C#编程自学之数据类型和变量二

    这篇文章继续介绍了C#数据类型和变量,是对上一篇文章的补充,希望对大家的学习有所帮助。
    2015-10-10
  • C#读取XML中元素和属性值的实现代码

    C#读取XML中元素和属性值的实现代码

    用C#读取xml有很多方式,这里我就先使用XmlDocument读取Xml,用一段代码遍历所有元素,并打印student的所有属性和子节点的值
    2013-04-04
  • asp.net(c#)编程实现将彩色图片变灰阶图片的方法示例

    asp.net(c#)编程实现将彩色图片变灰阶图片的方法示例

    这篇文章主要介绍了asp.net(c#)编程实现将彩色图片变灰阶图片的方法,结合实例形式分析了C#图片读取及属性操作相关技巧,需要的朋友可以参考下
    2017-07-07
  • C# 反射与 Quartz 实现流程处理详情

    C# 反射与 Quartz 实现流程处理详情

    根据要实现流程处理,比如用户可以定义一个定时任务,每周一查看报表。任务是用Quartz可实现,但用户自己选择报表就比较麻烦,这时因为系统的不同模块的生成报表的函数不同,这时便可以传入一个方法名和方法的输入参数,就可以调用该方法。下面小编我为大家介绍具体过程
    2021-09-09
  • C#中常见的系统内置委托用法详解

    C#中常见的系统内置委托用法详解

    这篇文章主要介绍了C#中常见的系统内置委托用法,主要包括了Action类的委托、Func类的委托、Predicate<T>委托、Comparison<T>委托等,需要的朋友可以参考下
    2014-09-09
  • C#中的多线程多参数传递详解

    C#中的多线程多参数传递详解

    第一种解决方案的原理是:将线程执行的方法和参数都封装到一个类里面。通过实例化该类,方法就可以调用属性来实现间接的类型安全地传递多个参数
    2014-01-01

最新评论