有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当系统处于负载状态时,java Log4J日志没有按大小滚动(Tomcat/Windows,如果相关),为什么会这样?

有没有人对这方面有一些想法

" why our log4j log file does not roll and keep growing huge in size?"

。。这似乎也只发生在我们的一个环境中。而且

The log file only does not roll when the machine is under load!

我们已经测试了一些东西,搜索谷歌和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) 个答案

  1. # 1 楼答案

    您似乎正在windows上运行?如果是这样,另一个读取日志文件的进程可能会阻止滚动。确实有任何应用程序读取日志文件,例如,出于监控目的。您是否在翻滚点处Log4J的控制台输出中看到Log4J的任何错误

  2. # 2 楼答案

    结果证明它与“负载”有关!当系统的日志负载过大时,文件将无法滚动。。。认为这是Windows+Log4J特有的问题。。不过谢谢你的建议,这可能是另一个原因