log4Net 简单配置过程
1、下载官网源文件 http://logging.apache.org/log4net/download.html 目前最新版本
2、编译项目 (src),根据你用使用的.net frameworkwork版本 设置 条件编译符号 默认为”NET_1_1“,即.net1.1,如果是.net2.0 修改成 ”NET_2_0“即可,还有其他版本NETCF_1_0、MONO_1_0、MONO_2_0、SSCLI_1_0等等 具体可以参考源代码。编译之后生成log4net.DLL,引入自己项目既可以使用。 (项目-属性-生成-常规-条件编译符号)
3、引入log4net.DLL,进行简单配置
在AssemblyInfo.cs文件中 加入如下代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "config\\Log4net.config", Watch = true)]
ConfigFile为配置文件的路径,配置文件格式如下:示例的配置文件只配置了 记录到文件和发送邮件2中日志方式,更多方式参考帮助文档
//Log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<!--<appender-ref ref="SmtpAppender" />-->
<!--所有日志将全部发送邮件,如果在程序中使用 SmtpAppender 将会出现发送2次邮件的情况-->
</root>
<logger name="RollingFileAppender">
<level value="ALL"/>
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="SmtpAppender">
<level value="ALL"/>
<appender-ref ref="SmtpAppender" />
</logger>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" type="" value="log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd.TXT" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="日期:%d|线程ID:%t|优先级别:%p|当前对象:%c|文件名:%F 行号%L|错误信息:%m%n%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<authentication value="Basic" />
<to value="" />
<from value="" />
<username value="XXX" />
<password value="XXX" />
<subject value="Test log4net" />
<smtpHost value="smtp.163.com" />
<bufferSize value="0" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="日期:%d|线程ID:%t|优先级别:%p|当前对象:%c|文件名:%F 行号%L|错误信息:%m%n%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="Fatal" />
<param name="LevelMax" value="Fatal" />
</filter>
</appender>
</log4net>
</configuration>
4、程序中使用
//写入文件
log4net.ILog log = log4net.LogManager.GetLogger("RollingFileAppender");
log.Debug(ex.StackTrace + " " + ex.Message);
//发送邮件
log4net.ILog log = log4net.LogManager.GetLogger("SmtpAppender");
log.Fatal(ex.StackTrace + " " + ex.Message);
转自:http://hi.baidu.com/czh8888/item/27774898a4cb17db7b7f01f5