我的应用程序使用Log4net写入事件查看器.这是我程序的App.config文件的log4net部分:
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="CarSystem" />
<logName value="CarSystemLog" />
<threshold value="DEBUG" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="EventLogAppender" />
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
现在,这些设置工作正常,直到前天下午12:30左右.突然,(当我需要查看日志中的消息时),它停止写入日志文件.
自定义事件日志位于查看器中.我今天重新启动了这台机器,但仍然没有新的东西进入日志.我将最大日志大小增加到10880 KB.
为什么不再将log4net写入我的日志文件?
Mar*_* N. 11
而不是寻找解决方案,更好地找到原因.
我建议您启用log4net的内部调试日志记录到文件(任何文件),它会在那里转储它的麻烦.当我的日志文件(事件日志应该是相同的东西)没有显示时,我已经多次使用过这个.
关于如何配置它说明在这里.
快速步骤:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
configuration部分). <system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
任何有权限或任何问题的问题都将记录到跟踪文件中.