使用方法:
1. 在自己的项目中添加对log4net.dll的引用。
2. 设置配置文件App.config(也可以为log4net设置单独的配置文件,参考 CarHui的 在.Net程序中使用log4net记录日志(示例) )
示例:
<?
xml version="1.0" encoding="utf-8"
?>
< configuration >
<!-- 如果不用App.config作配置文件,则configSections节不是必须的。 -->
< configSections >
<!-- “type”属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥 -->
< section name ="log4net" type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</ configSections >
< log4net >
<!-- 日志记录器logger,可以有多个 -->
< logger name ="AppLogger" >
< level value ="INFO" />
< appender-ref ref ="LogFileAppender" />
< appender-ref ref ="ConsoleAppender" />
</ logger >
< logger name ="Form1" >
< level value ="DEBUG" />
< appender-ref ref ="LogFileAppender" />
</ logger >
<!-- 所有logger的基,root的设置在所有logger中都起作用。
当在root和logger中重复设定相同的appender时,你会发现同一日志信息将被记录两次。 -->
<!-- <root>
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root> -->
<!-- 一个appender可以由多个logger共用,当然一个logger可以指定多个appender。 -->
< appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
< param name ="File" value ="App.log" />
< param name ="AppendToFile" value ="true" />
< layout type ="log4net.Layout.PatternLayout" >
< param name ="Header" value ="[Header]\r\n" />
< param name ="Footer" value ="[Footer]\r\n" />
< param name ="ConversionPattern" value ="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</ layout >
< filter type ="log4net.Filter.LevelRangeFilter" >
< param name ="LevelMin" value ="DEBUG" />
< param name ="LevelMax" value ="FATAL" />
</ filter >
</ appender >
< appender name ="ConsoleAppender" type ="log4net.Appender.ConsoleAppender" >
< layout type ="log4net.Layout.PatternLayout" >
< param name ="ConversionPattern" value ="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</ layout >
</ appender >
</ log4net >
</ configuration >
< configuration >
<!-- 如果不用App.config作配置文件,则configSections节不是必须的。 -->
< configSections >
<!-- “type”属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥 -->
< section name ="log4net" type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</ configSections >
< log4net >
<!-- 日志记录器logger,可以有多个 -->
< logger name ="AppLogger" >
< level value ="INFO" />
< appender-ref ref ="LogFileAppender" />
< appender-ref ref ="ConsoleAppender" />
</ logger >
< logger name ="Form1" >
< level value ="DEBUG" />
< appender-ref ref ="LogFileAppender" />
</ logger >
<!-- 所有logger的基,root的设置在所有logger中都起作用。
当在root和logger中重复设定相同的appender时,你会发现同一日志信息将被记录两次。 -->
<!-- <root>
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root> -->
<!-- 一个appender可以由多个logger共用,当然一个logger可以指定多个appender。 -->
< appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
< param name ="File" value ="App.log" />
< param name ="AppendToFile" value ="true" />
< layout type ="log4net.Layout.PatternLayout" >
< param name ="Header" value ="[Header]\r\n" />
< param name ="Footer" value ="[Footer]\r\n" />
< param name ="ConversionPattern" value ="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</ layout >
< filter type ="log4net.Filter.LevelRangeFilter" >
< param name ="LevelMin" value ="DEBUG" />
< param name ="LevelMax" value ="FATAL" />
</ filter >
</ appender >
< appender name ="ConsoleAppender" type ="log4net.Appender.ConsoleAppender" >
< layout type ="log4net.Layout.PatternLayout" >
< param name ="ConversionPattern" value ="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</ layout >
</ appender >
</ log4net >
</ configuration >
3. 在代码中使用logger。
//
根据配置文件对logger进行配置。
object o = ConfigurationSettings.GetConfig( " log4net " );
log4net.Config.DOMConfigurator.Configure( o as System.Xml.XmlElement );
log4net.ILog logger = log4net.LogManager.GetLogger( " AppLogger " );
// 在需要的地方调用logger记录日志信息。
logger.Info( " Start application " );
object o = ConfigurationSettings.GetConfig( " log4net " );
log4net.Config.DOMConfigurator.Configure( o as System.Xml.XmlElement );
log4net.ILog logger = log4net.LogManager.GetLogger( " AppLogger " );
// 在需要的地方调用logger记录日志信息。
logger.Info( " Start application " );
一些参考资料,打包成了chm文件, 点此下载。