当系统负载不足时,Log4J日志不会在大小上滚动(Tomcat / Windows,如果相关),为什么会这样?

时间:2011-03-03 00:32:17

标签: java log4j

有没有人有一些想法;

  

“为什么我们的log4j日志文件没有   滚动并保持巨大的增长?“

..它似乎只发生在我们的一个环境中。此外,

  

日志文件仅在不滚动时   机器负载不足!

我们测试了一些东西,搜索谷歌和Stack Oevrflow无济于事。

以下是我们目前正在研究的内容;

“我读到有些人看到如果应用程序作为服务启动而无法正常工作,但如果它从命令行启动它可以正常工作,我们可以测试以确保这不是我们所看到的(再次缩小它) )?有几个人看到了这一点。“

我们的配置是;

<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="file" value="D:/myloglocation/subfolder/mylog.txt"/>
    <param name="MaxFileSize" value="5MB"/>
    <param name="MaxBackupIndex" value="50"/>
    <param name="append" value="false"/>
    <param name="bufferedIO" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{4}] %m%n"/>
    </layout>
</appender>

有没有人对这里可能发生的事情有任何想法?

PS:我们正在考虑更改上面的bufferedIO标志(用于性能),但这可能无关紧要吗?

2 个答案:

答案 0 :(得分:2)

看来你在Windows上运行?如果是这样,读取日志文件的另一个进程可以阻止滚动。有任何应用程序读取日志文件,例如,监视目的。您是否在转存点从log4J的控制台输出中看到Log4J中的任何错误。

答案 1 :(得分:0)

原来是“负载”相关!当系统处于太多日志记录负载时,文件将无法滚动...认为它是Windows + Log4J特定的问题..感谢您的建议,这可能是另一个原因!