zoukankan      html  css  js  c++  java
  • 在c#中使用log4net

    1.从log4net官网下载最新的log4net.dll

    2.设置配置文件在app.config

    <?xml version="1.0"?>
    <configuration>
        <configSections>
            <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
        </configSections>
    <log4net debug="false">
    
        <!--使用Rolling方式记录日志按照日来记录日志-->
        <appender name="RunLog" type="log4net.Appender.RollingFileAppender">
          <!--文件名,可以相对路径,也可以绝对路径,这里只给定了文件夹-->
          <file value="log\\runtime\\" />
          <!--最小锁定模型以允许多个进程可以写入同一个文件,解决文件独占问题-->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--是否增加文件-->
          <appendToFile value="true" />
          <!--日志追加类型,Date为按日期增加文件,Size为按大小-->
          <rollingStyle value="Date" />
          <!--文件命名格式,非日期参数化要进行转义,如自定义文件后缀-->
          <datePattern value="yyyyMM\\yyyy-MM-dd&quot;.log&quot;" />
          <!--是否固定文件名-->
          <staticLogFileName value="false" />
          <!--内容布局-->
          <layout type="log4net.Layout.PatternLayout">
            <!--头部-->
            <header value="----------------------header--------------------------&#13;&#10;"/>
            <!--结尾-->
            <footer value="----------------------footer--------------------------&#13;&#10;"/>
            <!--输出格式化-->
            <conversionPattern value="当前时间:%d [%p] %m %n" />
          </layout>
          <!--过滤器-->
          <filter type="log4net.Filter.LevelRangeFilter">
            <!--只接受最小等级与最大等级之间的日志输出,这里只接受INFO级别的输出-->
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="INFO" />
          </filter>
        </appender>
    
        <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
          <file value="log\\error\\" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMM\\yyyy-MM-dd&quot;.log&quot;" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="----------------------header--------------------------&#13;&#10;"/>
            <footer value="----------------------footer--------------------------&#13;&#10;"/>
            <conversionPattern value="当前时间:%d 错误类型:[%p]  信息:%m  所在类:%F 所在行:%L %n" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <!--只接受最小等级与最大等级之间的日志输出,其他的被过滤,这里接受WARN(警告),ERROR(错误),FATAL(致命)级别的输出-->
            <param name="LevelMin" value="WARN" />
            <param name="LevelMax" value="FATAL" />
          </filter>
        </appender>
    
        <!--定义日志的输出媒介-->
        <root>
          <!--RollingFileAppender事件日志-->
          <appender-ref ref="RunLog" />
          <appender-ref ref="ErrorLog" />
        </root>
    
      </log4net>
     
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
    </configuration>

    3.在Properties/AssemblyInfo.cs,添加下面一个代码

    [assembly: log4net.Config.XmlConfigurator(Watch = true)]

    4.在程序中使用

    //日志
            private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    
    //记录程序启动
     log.Info("程序启动");
    
    //记录程序发生错误
    log.Error("发生错误:HttpListener已经被关闭");
  • 相关阅读:
    js小程序
    事务的概念
    为期一个月培训的总结
    软件测试培训总结篇2
    软件测试培训总结篇1
    软件测试培训第30天
    软件测试培训第29天
    软件测试培训第28天
    软件测试培训第26天
    软件测试培训第27天
  • 原文地址:https://www.cnblogs.com/qiange/p/3981675.html
Copyright © 2011-2022 走看看