Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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/2/.net/22.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/4/webpack/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#_.net_Log4net - Fatal编程技术网

C# Log4net停止写入事件日志

C# Log4net停止写入事件日志,c#,.net,log4net,C#,.net,Log4net,我的应用程序使用Log4net写入事件查看器。以下是我的程序App.config文件的log4net部分: 现在,这些设置工作正常,直到前天下午12:30左右。突然(当然,就在我需要查看日志中的消息时),它停止了对日志文件的写入 自定义事件日志位于查看器中。我今天重新启动了机器,但日志中仍然没有新的内容。我将最大日志大小增加到10880 KB 为什么log4net不再写入我的日志文件了?与其寻找解决方案,不如找出原因 我建议您将log4net的内部调试日志记录启用到文件(任何文件),它会将问

我的应用程序使用Log4net写入事件查看器。以下是我的程序App.config文件的log4net部分:


现在,这些设置工作正常,直到前天下午12:30左右。突然(当然,就在我需要查看日志中的消息时),它停止了对日志文件的写入

自定义事件日志位于查看器中。我今天重新启动了机器,但日志中仍然没有新的内容。我将最大日志大小增加到10880 KB


为什么log4net不再写入我的日志文件了?

与其寻找解决方案,不如找出原因

我建议您将log4net的内部调试日志记录启用到文件(任何文件),它会将问题转储到那里。当我的日志文件(对于事件日志应该是相同的)没有显示时,我已经使用过很多次了

有关如何配置它的说明

快速步骤:

  • 将此添加到app.config:

  • 将此项也添加到配置中(
    configuration
    section)


任何权限问题或其他问题都将记录到跟踪文件中。

我回到Log4Net文档,注意到以下声明:

必须在应用程序启动期间尽早进行日志记录调用,当然要在加载和调用任何外部程序集之前

嗯,我在AssemblyInfo.cs中有XmlConfiguration属性,并在代码中调用了
LogManager.GetLogger
,但这是在调用启动我添加到WPF应用程序的
App
对象的构造函数中的监视对象之后。当我阅读此语句并查看代码时,我意识到在添加此调用后日志记录停止了

因此,我将调用移动到
LogManager.GetLogger
作为
App
构造函数中的第一条语句,日志再次开始。哈利莉亚


感谢您的帮助和建议。

是否有人或某事更改了对正在写入日志文件的文件夹的权限?我不知道。这是我的开发工作站,我是它的管理员。我知道我没有改变它。我将不得不检查是否有人通过某种SMS工具做了什么,但让我们假设答案是否定的。好吧,如果你能排除环境问题,最明显的是想到一个未处理的异常是阻止日志代码执行。考虑到“就在我需要复习的时候……”这句话,它让我相信某个地方出了问题。如果您知道日志代码正在执行,我不知道。我尝试进行这些更改,但在调试输出窗口中没有关于log4net中错误的消息。我现在正试图解决其他问题,我会继续讨论,但缺少有用的信息令人沮丧。@TonyVitabile:在开始时,必须至少有一些初始化行。您能再检查一下配置吗?是的,有初始化行。我的意思是说,没有错误消息或任何有用的东西来解释为什么这些消息不会进入事件日志。请确保您正在运行的进程对您为跟踪文件设置的路径具有写访问权限,否则它将不会被创建。在过去的一年中,log4net被证明是我一生中最大的痛苦,我快要哭了。我的手动脏日志记录比使用log4net要好1000倍。也找不到一所大学提供使用log4net的博士课程。没有要求任何人帮助我。只是表达我对它的失望。