博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

log4net 将日志按不同类型写入多个文件

Posted on 2009-06-25 14:09  周末  阅读(3294)  评论(0编辑  收藏  举报

<log4net>
   
<root>
     
<!--
           
<level value="ALL" />
           
<appender-ref ref="rootFile" />
           
-->
   
</root>
   
<logger name="Livan's Logger">
     
<level value="ALL" />
     
<appender-ref ref="Loging" />
     
<appender-ref ref="EventLoging"/>
     
<appender-ref ref="ErrorLoging" />
   
</logger>
   
<!--信息日志-->
   
<appender name="Loging" type="log4net.Appender.RollingFileAppender,log4net" >
     
<param name="File" value="Log\log.txt" />
     
<param name="AppendToFile" value="true" />
     
<param name="RollingStyle" value="Date" />
     
<param name="DatePattern" value="yyyyMMdd" />
     
<param name="StaticLogFileName" value="true" />
     
<layout type="log4net.Layout.PatternLayout,log4net">
       
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"  />
       
<param name="Header" value="&#13;&#10;" />
     
</layout>
     
<filter type="log4net.Filter.LevelRangeFilter">
       
<param name="LevelMin" value="INFO" />
       
<param name="LevelMax" value="INFO" />
     
</filter>
   
</appender>
   
<!--警告,注意,通知日志-->
   
<appender name="EventLoging" type="log4net.Appender.RollingFileAppender,log4net" >
     
<param name="File" value="Log\log_event.txt" />
     
<param name="AppendToFile" value="true" />
     
<param name="RollingStyle" value="Date" />
     
<param name="DatePattern" value="yyyyMMdd" />
     
<param name="StaticLogFileName" value="true" />
     
<layout type="log4net.Layout.PatternLayout,log4net">
       
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n" />
       
<param name="Header" value="&#13;&#10;[Header]&#13;&#10;" />
       
<param name="Footer" value="[Footer]&#13;&#10;" />
     
</layout>
     
<filter type="log4net.Filter.LevelRangeFilter">
       
<param name="LevelMin" value="WARN" />
       
<param name="LevelMax" value="WARN" />
     
</filter>
   
</appender>
   
<!--错误日志-->
   
<appender name="ErrorLoging" type="log4net.Appender.RollingFileAppender,log4net" >
     
<param name="File" value="Log\log_error.txt" />
     
<param name="AppendToFile" value="true" />
     
<param name="RollingStyle" value="Date" />
     
<param name="DatePattern" value="yyyyMMdd" />
     
<param name="StaticLogFileName" value="true" />
     
<layout type="log4net.Layout.PatternLayout,log4net">
       
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n" />
       
<param name="Header" value="&#13;&#10;[Header]&#13;&#10;" />
       
<param name="Footer" value="[Footer]&#13;&#10;" />
     
</layout>
     
<filter type="log4net.Filter.LevelRangeFilter">
       
<param name="LevelMin" value="ERROR" />
       
<param name="LevelMax" value="ERROR" />
     
</filter>
   
</appender>
 
</log4net>

调用方法:

log4net.ILog log = log4net.LogManager.GetLogger("Livan's Logger");
log.Info(message);
log.Warn(message);
...