log4net 的用法
时间:2011-03-30 来源:jack.liangrt
1.引入log4net.dll
2.创建一个log4net.config(名字任意取)内容如下
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd".log"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n%r %p[%d %c] %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="rollingFile" />
</root>
<logger name="*">
<level value="ALL" />
<appender-ref ref="rollingFile" />
</logger>
</log4net>
</configuration>
3.在工程的AssemblyInfo.cs文件中添加如下语句:
[assembly: log4net.Config.XmlConfigurator(Watch = true, ConfigFile = "log4net.config")]
4.最后在需要记录日志的aspx.cs或cs类里,先定义一个log日志对象:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
5.在需要记录日志的代码块处,加一行这个测试
log.Debug("XX的操作被记录了");
6.对log4net.config中的“%d %t %p %l %m %n”一一讲解:
%d:输出日志时间点的日期或时间,可以在其后指定格式,比如:%d{yyyy-mm-dd hh:mm:ss},输出类似:2005-7-19 17:49:27,刚好适合插入sqlserver;
%t:产生该日志事件的线程名;
%p:日志的log_level,如debug、warn或者info;
%c:输出所属的类目,通常就是所在类的全名,如“inotes.default”;
%m:日志的内容;
%l:输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
%n 输出一个回车换行符,windows平台为“\r\n”,unix平台为“\n”