c# log4日志配置文件

Posted 小哈龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# log4日志配置文件相关的知识,希望对你有一定的参考价值。

<?xml version="1.0" encoding="utf-8" ?>
<log4net outdate_days="10">
  <!-- Debug 将日志以回滚文件的形式写到文件中 -->
  <appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender" >
    <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
    <file value="Log/Debug/" />
    <!-- 日志文件的命名规则 -->
    <datePattern value="yyyy-MM/yyyyMMdd'_Debug.log'"/>
    <!-- 将日志信息追加到已有的日志文件中-->
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <!-- 指定按日期切分日志文件 -->
    <rollingStyle value="Composite"/>
    <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
    <staticLogFileName value="false" />
    <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread %-5level] : %m %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="Debug" />
      <param name="LevelMax" value="Debug" />
    </filter>
  </appender>
  <!-- Info 将日志以回滚文件的形式写到文件中 -->
  <appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender" >
    <!--日志文件存放位置,可以为绝对路径也可以为相对路径  -->
    <file value="Log/Info/" />
    <!--日志文件的命名规则  -->
    <datePattern value="yyyy-MM/yyyyMMdd'_Info.log'"/>
    <!--将日志信息追加到已有的日志文件中-->
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <!-- 指定按日期切分日志文件  -->
    <rollingStyle value="Composite"/>
    <!--当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false  -->
    <staticLogFileName value="false" />
    <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread %-5level] : %m %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="Info" />
      <param name="LevelMax" value="Info" />
    </filter>
  </appender>

  <!-- Error 将日志以回滚文件的形式写到文件中 -->
  <appender name="RollingFileError" type="log4net.Appender.RollingFileAppender" >
    <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 -->
    <file value="Log/Error/" />
    <!-- 日志文件的命名规则 -->
    <datePattern value="yyyy-MM/yyyyMMdd'_Error.log'"/>
    <!-- 将日志信息追加到已有的日志文件中-->
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <!-- 指定按日期切分日志文件 -->
    <rollingStyle value="Composite"/>
    <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false -->
    <staticLogFileName value="false" />
    <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 -->
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread %-5level] : %m %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="Error" />
      <param name="LevelMax" value="Error" />
    </filter>
  </appender>

  <!--日志输出到Console-->
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread %-5level] : %m %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="Debug"/>
      <param name="LevelMax" value="Error"/>
    </filter>
  </appender>

  <root>
    <!--控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF
比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录
如果没有定义LEVEL的值,则缺省为DEBUG-->
    <appender-ref ref="RollingFileDebug" />
    <appender-ref ref="RollingFileInfo" />
    <appender-ref ref="RollingFileError" />
    <appender-ref ref="ConsoleAppender" />
    <level value="Debug" />
  </root>
  <!--<logger name="NHibernate">
    <level value="WARN" />
  </logger>-->
</log4net>

以上是关于c# log4日志配置文件的主要内容,如果未能解决你的问题,请参考以下文章

C#中使用Log4记录日志

C# log4net 配置及使用详解--日志保存到文件和Access(转)

C#中使用Log4记录日志

C#上位机开发(十三)—— 使用Log4net添加日志记录功能

C#上位机开发(十三)—— 使用Log4net添加日志记录功能

ELK日志处理之使用logstash收集log4J日志