• log4net按级别写到不同文件


    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      
      <log4net>
        <root>
          <!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
          <!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 -->
          <!-- 如果没有定义LEVEL的值,则缺省为DEBUG -->
          <level value="ALL" />
          <!-- 按日期切分日志文件,并将日期作为日志文件的名字 -->
          <appender-ref ref="InfoFileAppender"></appender-ref>
          <appender-ref ref="WarnFileAppender"></appender-ref>
          <appender-ref ref="ErrorFileAppender"></appender-ref>
          <appender-ref ref="DebugFileAppender"></appender-ref>
          <!--<appender-ref ref="ConsoleAppender"></appender-ref>-->
        </root>
    
        <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--<rootDir value="/logs" />-->
          <filter type="log4net.Filter.LevelMatchFilter">
            <levelToMatch value="INFO" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
          <File value="LogsInfo" />
          <!-- 将日志信息追加到已有的日志文件中-->
          <appendToFile value="true" />
          <!-- 指定按日期切分日志文件 -->
          <rollingStyle value="Date" />
          <!-- 日志文件的命名规则 -->
          <datePattern value="yyyyMMdd.LOG" />
          <!-- 是否只写到一个文件中,当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
          <staticLogFileName value="false" />
          <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
          <maxSizeRollBackups value="10" />
          <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
            <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
          </layout>
        </appender>
    
        <appender name="WarnFileAppender" type="log4net.Appender.RollingFileAppender">
          <filter type="log4net.Filter.LevelMatchFilter">
            <levelToMatch value="WARN" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
          <File value="LogsWarn" />
          <!-- 将日志信息追加到已有的日志文件中-->
          <appendToFile value="true" />
          <!-- 指定按日期切分日志文件 -->
          <rollingStyle value="Date" />
          <!-- 日志文件的命名规则 -->
          <datePattern value="yyyyMMdd.LOG" />
          <!-- 是否只写到一个文件中,当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
          <staticLogFileName value="false" />
          <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
          <maxSizeRollBackups value="10" />
          <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
            <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
          </layout>
        </appender>
    
        <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender">
          <filter type="log4net.Filter.LevelMatchFilter">
            <levelToMatch value="Error" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
          <File value="LogsError" />
          <!-- 将日志信息追加到已有的日志文件中-->
          <appendToFile value="true" />
          <!-- 指定按日期切分日志文件 -->
          <rollingStyle value="Date" />
          <!-- 日志文件的命名规则 -->
          <datePattern value="yyyyMMdd.LOG" />
          <!-- 是否只写到一个文件中,当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
          <staticLogFileName value="false" />
          <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
          <maxSizeRollBackups value="10" />
          <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
            <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
          </layout>
        </appender>
    
        <appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
          <filter type="log4net.Filter.LevelMatchFilter">
            <levelToMatch value="Debug" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
          <File value="LogsDebug" />
          <!-- 将日志信息追加到已有的日志文件中-->
          <appendToFile value="true" />
          <!-- 指定按日期切分日志文件 -->
          <rollingStyle value="Date" />
          <!-- 日志文件的命名规则 -->
          <datePattern value="yyyyMMdd.LOG" />
          <!-- 是否只写到一个文件中,当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
          <staticLogFileName value="false" />
          <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数-->
          <maxSizeRollBackups value="10" />
          <layout type="log4net.Layout.PatternLayout">
            <!--<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />-->
            <conversionPattern value="%date| %newline%message%newline--------------------------------%newline" />
          </layout>
        </appender>
        
        <!--<appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />
          </layout>
        </appender>-->
        
      </log4net>
    </configuration>
  • 相关阅读:
    使用runOnUiThread更新UI
    Leetcode Symmetric Tree
    EBS 开发中如何动态启用和禁止请求(Current Request)的参数
    c 陷阱与缺陷(一)
    钟浩荣战胜病魔,不负众望重踏传智播客!
    【原创】分布式之elk日志架构的演进
    【强烈谴责】博客园园友随意抄袭他人文章并作为自己原创的行为
    【原创】研发应该懂的binlog知识(下)
    【原创】研发应该懂的binlog知识(上)
    【原创】一个线程oom,进程里其他线程还能运行吗?
  • 原文地址:https://www.cnblogs.com/ingstyle/p/11401036.html
Copyright © 2020-2023  润新知