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,一定要这个项目设置才有效

重新编译发布就可以了。

原文地址:https://www.cnblogs.com/daniel-zhang/p/10487407.html