log4net在release模式下无法生成文件或不写入日志
在Debug模式一切正常,但是在release模式下log4net不工作,查了很多资料,终于解决。具体做如下检查修改。
1、检查log4net写入日志文件路径是否正确;
2、检查对应日志文件路径是否有权限;
3、检查程序log4net配置获取路径;
最常见的问题是第三步,一般都是在AssemblyInfo.cs文件中写入如下代码
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
但这个方式在Debug模式下没有问题,但是在release模式下就不好用了,需要在Global.asax文件中具体再次指定配置文件所在位置,例如:
protected void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~") + @"\log4net.config"));
}
一定要调用如果是自定义appender,一定要这个项目设置才有效
重新编译发布就可以了。