使用log4net日志组件经验分享
常见步骤:
第一:在项目中引用log4net组件.
第二:配置log4net,一般都写在web.config中.
第三:调用部分.
具体怎么配置,大家可以参考博客其它博友写的,这里我只写我使用log4net的经验:
经验一:配置文件不写在web.config中.
理由:
一个项目随着需求的变更,配置字节会特别多,不便查阅及维护.而且一但更改配置文件,就会引起IIS重启.
默认的web.config配置文件中本来就有很多配置了,如果再加上log4net配置文件,那就更加庞大了不利于后期维护,而且实际应用中,并不是只配置一种方式记录日志,比如项目这次就不同,要配置log4net输出到txt文件中,还要配置输出到数据库中。这两个还是可以选择的。所以更不能配置在一起了,只有分开配置,调用工具类去读取相应的配置文件去执行不同的记录操作。
解决方案:我们可以利用以下方法来实现:
log4net.Config.XmlConfigurator.ConfigureAndWatch(string filePath)
它用来加载配置文件,这个配置文件可以放在任意地方,与WEB程序完成分离,更改此文件可以避免IIS的重启.
经验二:写一个调用log4net的公共类,根据不同的功能模块来生成不同的ILog接口.
一般在项目中程序都会分成很多不同的模块,如果所有的模块的日志都写在一个目录里面,那在查阅的时候会是一种麻烦,我们可能根据不同的模块甚至更详细的功能来设置日志文档的存储路径.例如:娱乐新闻/weblog.txt,体育新闻/weblog.txt等等. 欧阳洲
经验三:log4net并不一定要在程序发生错误时才记录日志,你可以把程序的业务逻辑处理过程都记录下来.
例如有一个非常复杂的业务处理,里面可能会调用webservice,第三方接口什么的,此时如果程序出错,程序员在判断错误时往往会非常困难,你可以把执行过程都记录下来,这样当程序出错时你通过日志就知道在哪一步出问题了.记录这种日志时可以用级别最低的Info来记录,程序稳定后在配置文件中更改日志记录级别就可以避免在程序无错时也记录日志的负载了.
本文加自己的使用经验也结合别人经验总出来的。原文地址 http://www.cnblogs.com/ChiYue/