Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Log4net不';无法写入文件_C#_Log4net - Fatal编程技术网

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分钟内解决了一个我被困了一个小时的问题。这似乎对我不起作用,直到我意识到调试的输出进入即时窗口,而不是输出窗口