我有一个使用 log4net 的 Windows 服务。我们注意到有问题的服务运行缓慢,因此我们在其上附加了一个调试器并单步执行。似乎每次它尝试通过 log4net 将条目写入日志时,都需要 10 到 30 秒才能执行下一行代码。显然这加起来...
该服务是 2.0 .net 我们使用的是 log4Net 1.2.0.30714。我们已经在运行 vista 的机器和运行 win sever 2003 的机器上对此进行了测试,并看到了相同或相似的结果。
我有一个使用 log4net 的 Windows 服务。我们注意到有问题的服务运行缓慢,因此我们在其上附加了一个调试器并单步执行。似乎每次它尝试通过 log4net 将条目写入日志时,都需要 10 到 30 秒才能执行下一行代码。显然这加起来...
该服务是 2.0 .net 我们使用的是 log4Net 1.2.0.30714。我们已经在运行 vista 的机器和运行 win sever 2003 的机器上对此进行了测试,并看到了相同或相似的结果。
事实证明,有人在配置文件中添加了一个 SMPTAppender,它覆盖了我们应用程序中的那个。结果,错误的 SMPT 服务器地址无法访问。log4net 试图为每个请求记录错误一分钟,然后放弃并继续下一行代码。更正 smtp 地址可解决问题。
Jeff 在Podcast 20中提到了 Log4Net 的性能问题。您可能会看到类似的问题。
检查您的配置文件中的 Log4Net 设置。Log4Net 可以配置为登录到远程机器,如果连接速度很慢,那么您的记录速度也会变慢。
好吧,我不是在远程处理...这是写入正在运行的机器上的日志文件。这是我的附加程序设置:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<file value="D:\\ROPLogFiles\\FileProcessor.txt" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
<threshold value="INFO" />
</appender>
我有带有 adonet appender 的 log4net,并且没有看到我的 Windows 服务的任何性能下降。你用的是什么附加程序?
默认的最大文件大小为 10mb 。如果您的文件大约是这个大小并且您的文件系统非常完整并且可能非常分散,那么问题可能就在那里。你的日志文件有多大?我在千兆字节大小的日志文件中遇到了类似的问题。