我有一个使用log4net的Windows服务。我们注意到有问题的服务运行缓慢,因此我们将调试器附加到它并逐步完成。似乎每次尝试通过log4net向日志写入条目时,在下一行代码执行之前需要10到30秒。显然这加起来......
该服务是2.0 .net 我们正在使用log4Net 1.2.0.30714。 我们在运行vista的机器和运行win sever 2003的机器上测试了这个,并且看到了相同或类似的结果。
答案 0 :(得分:1)
Jeff在Podcast 20中提到了Log4Net的性能问题。您可能会遇到类似的问题。
答案 1 :(得分:1)
原来,有人在配置文件中添加了一个SMPTAppender,它覆盖了我们应用中的那个。因此,错误的SMPT服务器地址无法访问。 log4net试图将每个请求记录错误一分钟,然后放弃并继续下一行代码。修正smtp地址解决了问题。
答案 2 :(得分:0)
我有ad4et appender的log4net,并没有看到我的Windows服务的任何递减性能。你正在使用什么appender?
答案 3 :(得分:0)
检查配置文件中的Log4Net设置。可以将Log4Net配置为记录到远程计算机,如果连接速度很慢,则记录速度也会很慢。
答案 4 :(得分:0)
嗯,我没有远程...这是写在它运行的机器上的日志文件中。这是我的appender设置:
<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>
答案 5 :(得分:0)
默认的最大文件大小为10mb。如果您的文件大小与此大小相当,并且您的文件系统已满且可能严重碎片化,则可能存在问题。你的日志文件有多大?我遇到了类似千兆字节大小的日志文件的问题。