您的位置:首页 > 其它

log4net使用心得【原创】

2009-04-05 14:33 435 查看
最近做项目使用了 nhibernate,在下载dll文件之后发现里面有5个dll文件,发现里有个log4net的dll文件,以前在做java的时候使用过log4j日志框架,于是怀疑这个肯定也是个日志框架,果然,网上查了下资料,发现已经有很多人在使用这个框架了,昨天清明节放假没事,所以研究了一下,呵呵.....今天终于成功输出日志了,这里和大家分享下经验。

使用的环境:vs2008(当然这个和版本没什么关系),webform(关键,因为还有个winform,两者配置有区别)

经过几经波折我最终的代码如下:

1. 首先添加xml文件,这里不写在web.config有个好处,改写之后项目不用重新编译:

log4netConfig.xml(Author:myssh)<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />

<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d - %m%n" />
</layout>
</appender>
</log4net>
</configuration>

2. 添加global.asax,在application_state中启动log4net:

global.asax(Author:myssh) void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4netConfig.xml")));
} void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("log4netConfig.xml")));

}

3. 这里已经配置好了,下面看看如何使用:

onclick(Author:myssh) //ILog log = LogManager.GetLogger(this.GetType()));
//使用方式有多种,GetLogger有5个重载方法(1.2版本)
ILog log = LogManager.GetLogger(typeof(Login));
if (log.IsDebugEnabled)
{
log.Debug(username + ":登陆系统");
}


总结:到这里我配置的log4net已经结束了,另外log4net还可以把日志输出到数据库当中,具体配置我这里就不讲了,(*^__^*) 嘻嘻……因为我还没用到,不过大体的配置也就和上面的差不多.............(待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: