关于log4net1.2.10.0在web.config和app.config的不同配置

来源:互联网 发布:jsp 调用js的function 编辑:程序博客网 时间:2024/05/19 10:07

         最近写一个服务,log4net在web.config中都配置好了(拷之前一个项目,系统日志生成都是正常的),然而每次运行,都无法生成系统日志。对比了前面的几个项目,又在网上找了一些资料,终于找到问题的源头。下面说说我的解决步骤,还有问题的源头。

        首先我检查web.config中配置,一开始,我理所当然的认为是配置出了问题,问其他人,他们也是这么认为的,结果在wen.config上花了很多时间。现在嘛,自然要申明他是正常的,这个配置大家可以上网找个,有很多,这边就不贴出来的,大部分都是一样的。

        接着就是AssemblyInfo.cs文件中的配置,这里是重点,也是问题的出处。我先说下自己错误的配置,“[assembly: XmlConfigurator(ConfigFileExtension = "config", Watch = true)]”,就是上面这个。事实上也不能说是错的,因为在app.config中,也就是winform项目中,这样配置完全是正确的。我当时还以为是因为在不用的项目中,(我引用了另外一个项目的dll)所以ILog定义会出问题,特意去建了个winform项目,结果一切正常。

       " [assembly: log4net.Config.XmlConfigurator(Watch = true)]",我用这句替换上段的中ssemblyInfo.cs的配置,ok了,现在系统日志就正常了。

       上面就是解决方法,也是问题的源头。解决之后我又去网上找了些资料,也可以不用在AssemblyInfo.cs配置。但是要在定义ILog的类中的构造函数中添上一句"log4net.Config.XmlConfigurator.Configure();",这个是有测试过的。

http://www.cnblogs.com/wzc998/archive/2011/05/05/2037713.html该链接介绍了log4net不用版本和在web.config与app.config的不用配置。我只自己测试了1.2.10.0版本的。

原创粉丝点击