Log4net.confager配置

<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <level value="DEBUG">
    <appender-ref ref="ComponentAppender" />
  </level>
  <logger name="logfatal">
    <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
    <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
    <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
    <level value="FATAL" />
    <appender-ref ref="FatalAppender" />
  </logger>

  <logger name="logerror">
    <level value="ERROR" />
    <appender-ref ref="ErrorAppender" />
  </logger>
 
  <logger name="logwarn">
    <level value="WARN" />
    <appender-ref ref="WarnAppender" />
  </logger>
 
  <logger name="loginfo">
    <level value="INFO" />
    <appender-ref ref="InfoAppender" />
  </logger>

  <logger name="logdebug">
    <level value="DEBUG" />
    <appender-ref ref="DebugAppender" />
  </logger>
 
  <logger name="logcomp">
    <level value="DEBUG" />
    <appender-ref ref="DebugAppender" />
    <appender-ref ref="ConsoleAppender" />
  </logger>
 
  <appender name="FatalAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Fatal\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="MaxFileSize" value="1024000" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
    <param name="RollingStyle" value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="Time:%d [%t] %n %m%n" />
      <!--<param name="ConversionPattern" value="Time:%d [%t] level:%-5p %n %m%n" />-->
    </layout>
  </appender>
 
  <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Error\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="MaxFileSize" value="1024000" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
    <param name="RollingStyle" value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="Time:%d [%t] %n %m%n" />
    </layout>
  </appender>

  <appender name="WarnAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Warn\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="MaxFileSize" value="1024000" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
    <param name="RollingStyle" value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="Time:%d [%t] %n %m%n" />
    </layout>
  </appender>
 
  <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Info\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxFileSize" value="1024000" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
    <param name="RollingStyle" value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="Time:%d [%t] %n %m%n" />
    </layout>
  </appender>
  <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Debug\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxFileSize" value="1024000" />
    <param name="MaxSizeRollBackups" value="100" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
    <param name="RollingStyle" value="Composite" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="Time:%d [%t] %n %m%n" />
    </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>
 
  <appender name="ComponentAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Log\Component\" />
    <!--多线程时采用最小锁定-->
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <param name="AppendToFile" value="true" />
    
    <!--每个日志文件的最大大小-->
    <!--可用的单位:KB|MB|GB-->
    <!--不要使用小数,否则会一直写入当前日志-->
    <param name="MaxFileSize" value="1024000" />
    
    <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
    <param name="MaxSizeRollBackups" value="100" />
    
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />

    <!--变换的形式为日期,这种情况下每天只有一个日志-->
    <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->
    <!--<rollingStyle value="Date"/>-->
    <!--变换的形式为日志大小-->
    <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
    <param name="RollingStyle" value="Composite" />
    
    <layout type="log4net.Layout.PatternLayout">
      <!---
        %m(message):输出的日志消息;
        %n(newline):换行;
        %d(datetime):输出当前语句运行的时刻;
        %r(runtime):输出程序从运行到执行到当前语句时消耗的毫秒数;
        %t(threadid):当前语句所在的线程ID ;
        %p(priority): 日志的当前日志级别;
        %c(class):当前日志对象的名称;
        %L:输出语句所在的行号;
        %F:输出语句所在的文件名;
        %-10:表示最小长度为10,如果不够,则用空格填充;
      -->
      <param name="ConversionPattern" value="Time:%d [%t] level:%-5p %n %m%n" />
    </layout>
  </appender>
</log4net>

原文地址:https://www.cnblogs.com/rengke2002/p/7200215.html