zoukankan      html  css  js  c++  java
  • 【9】log4net 实例

    一.创建项目并添加nuget:

    Install-Package log4net

     

    二.添加配置文件

    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
    
      <log4net>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--日志文件名开头-->
          <file value="D:Loglog_"/>
          <!--多线程时采用最小锁定-->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
          <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
          <datePattern value="yyyyMMdd_HH".log""/>
          <!--是否追加到文件,默认为true,通常无需设置-->
          <appendToFile value="true"/>
          <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
          <RollingStyle value="Composite"/>
          <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
          <MaxSizeRollBackups value="100"/>
          <!--每个日志文件的最大大小-->
          <!--可用的单位:KB|MB|GB-->
          <!--不要使用小数,否则会一直写入当前日志-->
          <maximumFileSize value="2MB"/>
          <!--是否只写到一个文件中--> 
          <staticLogFileName value="false" />
          <!--日志格式-->
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%t]%-5p %c - %m%n"/>
          </layout>
        </appender>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%t]%-5p %c - %m%n" />
          </layout>
        </appender>
        <root>
          <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
          <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
          <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
          <level value="ALL"/>
          <appender-ref ref="RollingFileAppender"/>
          <appender-ref ref="ConsoleAppender"/>
        </root>
      </log4net>
    </configuration>

    注:若要appender生效,需要在root节点中添加appender-ref。

    此例中RollingFileAppender为将日志以回滚文件的形式写到文件中

    ConsoleAppender为将日志输出到控制台

     

    三.main函数添加代码

    static void Main(string[] args)
    {
        log4net.Config.XmlConfigurator.Configure();
        ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        
        logger.Info("记录日志");
        Console.ReadLine();
    }

    如果不加log4net.Config.XmlConfigurator.Configure();也可在AssemblyInfo.cs文件中添加

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "App.config", Watch = true)]

    这里需要将App.config文件属性设置问始终复制

     

    四.结果

    控制台输出:


    文本文件记录日志:


     

    参考资料:

    http://blog.csdn.net/pfe_nova/article/details/12225349

    http://www.cnblogs.com/zhangchenliang/p/4546352.html

     

  • 相关阅读:
    已经有人提出过循环
    中华术数系列之奇门遁甲精简版
    研究下市场上有哪些软件项目/产品,哪些是值得做的?
    中华术数系列之奇门遁甲手机版
    Webbrowser代理支持
    随笔:杂念纷呈
    架构设计实践:基于WCF大型分布式系统(转)
    WCF分布式开发必备知识(3):Enterpise Services(转)
    看完这20部电影 你能变成经济学大师(转)
    WCF服务契约继承与分解设计(转)
  • 原文地址:https://www.cnblogs.com/pengdylan/p/6705567.html
Copyright © 2011-2022 走看看