在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"));
}
重新編譯發布就可以了。