Log4net不写入文件

我想添加新的日志到文件。这是我的appender:

                      

在我的class上,我补充道

 [assembly: XmlConfigurator(Watch = true)] 

我添加访问该文件的所有人但是:log4net不写入文件。 为什么?

出现问题时,Log4net会无声地失败。 设计自负是没有记录优先于取消应用程序。 要弄清楚什么是错的,请通过将此密钥添加到[app / web] .config文件来打开Log4net的内部调试:

    

调试消息将写入控制台或System.Diagnostics.Trace系统。 来自Phill Haack的更多细节,请访问http://haacked.com/archive/2006/09/26/Log4Net_Troubleshooting.aspx/

Log4net可能会失败的原因有很多。 日志文件目录上的权限问题,对于初学者(对于服务器进程尤其如此,您可能在一组受限制的安全权限下运行)。

您只需要调用Configure:

 log4net.Config.XmlConfigurator.Configure(); 

您可以在此处查看更多详细信息: Log4net不会写入日志文件

您需要初始化日志记录作为应用程序的第一步,并从具有[assembly]标记的同一程序集中初始化:

来自文档 :

因此,如果使用配置属性,则必须调用log4net以允许它读取属性。 对LogManager.GetLogger的简单调用将导致读取和处理调用程序集上的属性。 因此,必须在应用程序启动期间尽早进行日志记录调用,当然在加载和调用任何外部程序集之前。

在您的启动代码中添加以下内容:

 LogManager.GetLogger("Initialises logging from assembly attributes"); 

你应该添加这个配置部分:

  

引用log4net配置。