zoukankan      html  css  js  c++  java
  • Logging with Log4net (二)

    log4net 是.net 的一款日志记录框架。

    它提供了很多的方法来帮助记录日志:

    clipboard

    使用起来也比较方便:

    选中项目,点击右键,然后选择 Manage NuGet Packages...

    clipboard[1]

    安装log4net package。

    clipboard[2]

    安装好Package 之后,需要用配置文件来配置log4net.

    在项目中添加log4net.config 文件,这个配置文件会将日志以xml 的形式记录到 log.xml 中。

    代码如下:

    <log4net>

      <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">

        <file value="log.xml" />

        <appendToFile value="true" />

        <datePattern value="yyyyMMdd" />

        <rollingStyle value="Date" />

        <layout type="log4net.Layout.XmlLayoutSchemaLog4j">

          <locationInfo value="true" />

        </layout>

      </appender>

      <root>

        <level value="ALL" />

        <appender-ref ref="RollingFileAppender" />

      </root>

    </log4net>

    这里有一点要注意,就是需要将log4net.config  copy 到bin folder,这样我们的Exe 才能找到这个配置文件。

    clipboard[3]

    在Program 的上面添加代码:

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
    //[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
    namespace Log4net
    {
     class Program
     {
      static void Main(string[] args)
      {
      }
     }
    }
    
    或者是:
    
    namespace Log4net
    {
     class Program
     {
      static void Main(string[] args)
      {
       XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config"));
      }
     }
    }

    配置好之后,我们就可以记录日志了:

    下面是我记录的一个

    image

    在这里推荐使用EasyLogViewer 来查看日志:

    http://www.codeproject.com/Tips/996927/EasyLogViewer-Yet-another-log-viewer-tool-but-Easi

    image

    当然还可以将日志文件的形式保存,只要我们更改下log4net.config 就可以了:

    <log4net>

      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

        <!--日志文件名开头-->

        <file value="project.log" />

        <!--是否追加到文件-->

        <appendToFile value="true" />

        <!--混合使用日期和文件大小变换日志文件名-->

        <rollingStyle value="Composite" />

        <!--日期的格式-->

        <datePattern value="&quot;.&quot;yyyyMMdd" />

        <!--最大变换数量-->

        <maxSizeRollBackups value="30" />

        <!--最大文件大小-->

        <maximumFileSize value="50MB" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%d [%t] %-5p %m - [%F:%L]%n" />

        </layout>

      </appender>

      <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%d [%t] %-5p %m%n" />

        </layout>

      </appender>

      <root>

        <level value="ALL"></level>

        <appender-ref ref="RollingLogFileAppender"></appender-ref>

        <appender-ref ref="ConsoleAppender"></appender-ref>

      </root>

    </log4net>

    具体的选项请参考:http://logging.apache.org/log4net/release/config-examples.html

  • 相关阅读:
    【P000-004】交易费计算系统,功能类规划
    【P000-003】交易费计算系统,从股票信息网络接口获取信息
    ASP页面的执行顺序
    Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序
    VSCode运行已有代码
    WPF MVVM-TreeView数据源添加了节点,UI没有刷新
    MapGIS二次开发注意事项
    把echarts嵌入winform窗口注意事项
    host is not allowed to connect mysql解决方法
    SqlDbx连接Oracle数据库
  • 原文地址:https://www.cnblogs.com/LoveJenny/p/LoggingWithLog4net.html
Copyright © 2011-2022 走看看