• 【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

     

  • 相关阅读:
    spring整合mybatis错误:class path resource [config/spring/springmvc.xml] cannot be opened because it does not exist
    spring 整合Mybatis 《报错集合,总结更新》
    java_eclipse添加DID实现自动提示
    mbatis_逆向工程
    Spring《错误集合,总结更新》
    南山行 《重在坚持》
    mac OS 常用的一些快捷键
    object-c 语言特性@[] &@{}
    给textfield添加delegate的一种方法
    unwind segue
  • 原文地址:https://www.cnblogs.com/pengdylan/p/6705567.html
Copyright © 2020-2023  润新知