C# Log4net不';无法写入文件
我想向文件中添加新日志。这是我的附件:C# Log4net不';无法写入文件,c#,log4net,C#,Log4net,我想向文件中添加新日志。这是我的附件: 在我的课上我加上 [assembly: XmlConfigurator(Watch = true)] 我为文件添加了访问权限,但是:log4net不会写入文件。为什么?作为应用程序的第一步,您需要初始化日志记录,并且从您具有[assembly]标记的同一程序集中: 从: 因此,如果使用配置属性,则必须调用log4net 允许它读取属性。一个简单的电话 LogManager.GetLogger将导致调用程序集上的属性 被读取和处理因此,必须进行日志记录
在我的课上我加上
[assembly: XmlConfigurator(Watch = true)]
我为文件添加了访问权限,但是:log4net不会写入文件。为什么?作为应用程序的第一步,您需要初始化日志记录,并且从您具有
[assembly]
标记的同一程序集中:
从:
因此,如果使用配置属性,则必须调用log4net
允许它读取属性。一个简单的电话
LogManager.GetLogger
将导致调用程序集上的属性
被读取和处理因此,必须进行日志记录
在应用程序启动期间尽早调用,以及
当然是在加载和调用任何外部程序集之前。
在启动代码中添加如下内容:
LogManager.GetLogger("Initialises logging from assembly attributes");
当出现问题时,Log4net会无声地失败。设计理念是,不记录日志比关闭应用程序更可取。若要找出问题所在,请通过将此密钥添加到[app/web].config文件来启用Log4net的内部调试:
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
Log4net失败的原因有很多。对于初学者来说,日志文件目录上的权限问题(特别是对于服务器进程,您可能在一组受限的安全权限下运行)。您应该添加此配置部分:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
要参考log4net配置。只需调用Configure:
log4net.Config.XmlConfigurator.Configure();
您可以在此处查看更多详细信息:
精彩提示!在2分钟内解决了一个我被困了一个小时的问题。这似乎对我不起作用,直到我意识到调试的输出进入即时窗口,而不是输出窗口