zoukankan      html  css  js  c++  java
  • log4net记录系统错误日志到文本文件用法详解

    log4net是一个完全免费开源的插件,可以去官网下载源码。

    一般系统操作日志不会用log4net,自己写代码存入数据库更方便合理,但是系统部署后运行在客户环境,难免会发生系统bug、崩溃、断网等无法预知的错误,但是又不想让客户看到,又便于我们开发人员跟踪调试,这时log4net就显示出很大的威力来了,它会把这种问题记录到我们程序的一个文件里,可以做到比如每天记录一个txt文件,或者文件到一定大小自动到下一个文件等。

    具体用法如下:

    一、去官网下载一个log4net.dll的文件

          也可以把源码下载下来,自行编译dll均可。

    二、把log4net.dll引用到我们的项目中

    三、在webconfig或appconfig平级建一个叫log4net.config的配置文件(其中log4net.config名字不可修改),如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <!--<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />-->
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a" />
      </configSections>
      <log4net>
        <!-- A对应自定义变量:定义日志记录到文件中的具体规则和属性配置 -->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
           <!--日志文件名--> 
           <!--指定记录日志文件的位置(自定义,相对路径,跟目录下log文件夹下Error文件,可以有后缀)-->
          <file value="log/Error" />
           <!--是否在文件中追加--> 
          <appendToFile value="true" /><!--累计记录-->
          <!--<maxSizeRollBackups value="10" />
          <maximumFileSize value="100" />
          <rollingStyle value="Size" />--><!--可以按照文件大小自动创建新文件-->
          <rollingStyle value="Date" /><!--按照日期自动创建新文件-->
          <datePattern value="yyyyMMdd&quot;.log&quot;" /><!-- 日期文件命名格式-->
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="[Header]&#13;&#10;" />
            <footer value="[Footer]&#13;&#10;" />
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
          </layout>
        </appender>
        <root>
          <level value="ALL" />
           <!--A对应自定义变量:定义日志记录到文件中-->
           <appender-ref ref="RollingLogFileAppender" /> 
        </root>
      </log4net>
    </configuration>
    View Code

    四、Web.config 文件需要配置

          在<appSettings>节点里面写上<add key="log4net.Config" value="log4net.config"/><add key="log4net.Config.Watch" value="True"/>

          代码如下:....下面的两行代码很重要,必须写上!

    <appSettings>
        <add key="webpages:Version" value="1.0.0.0"/>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
        ..................
        <!--log4net-->
        <add key="log4net.Config" value="log4net.config"/>
        <add key="log4net.Config.Watch" value="True"/>
      </appSettings>

    五、代码调用
          在应该记录系统日志的代码类中写

     private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

     try{...}
     catch (Exception ex)
     {
         log.Error("未连接数据库....", ex);//此句表示记录错误信息到文本文件了,此方法重载2个方法。
     }

  • 相关阅读:
    arm gdbserver armlinuxgdb
    建立非模态对话框与在线程中建立非模态对话框
    AutoLock C++
    Uboot bootcmd 和bootargs
    SetRegistryKey
    飞凌OK6410 uboot支持网络
    uboot 源码修改 bootcmd,IP ,BOOTARGS等参数
    TextBox(richTextBox) 光标和滚动条到文本末尾
    Windbg中使用查找内存并设置访问断点
    opencv EXAMPLES 编译 VS2010 (C++)
  • 原文地址:https://www.cnblogs.com/yonguibe/p/3287554.html
Copyright © 2011-2022 走看看