Log4j滚动文件大小

时间:2012-02-09 00:25:41

标签: java log4j

我有一个xml log4j配置文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="CA" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="KTS %5p [%F] - %m%n"/>
        </layout>
    </appender>
    <appender name="EXCEPTION" class="org.apache.log4j.RollingFileAppender">
        <param name="file" value="C:\\exception.log"/>
        <param name="MaxFileSize" value="20MB"/>
        <param name="MaxBackupIndex" value="5"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss,SSS} KTS %5p [%F] - %m%n"/>
        </layout>
        <filter class="org.apache.log4j.varia.LevelMatchFilter"> 
            <param name="LevelToMatch" value="ERROR"/> 
            <param name="AcceptOnMatch" value="true"/>                        
        </filter>
        <filter class="org.apache.log4j.varia.DenyAllFilter"/>
    </appender>
    <appender name="TIMER" class="org.apache.log4j.RollingFileAppender">
        <param name="file" value="C:\\timer.log"/>       
        <param name="MaxFileSize" value="20MB"/>
        <param name="MaxBackupIndex" value="5"/>     
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss,SSS} KTS %5p [%F] - %m%n"/>
        </layout>
        <filter class="org.apache.log4j.varia.LevelMatchFilter"> 
            <param name="LevelToMatch" value="INFO"/> 
            <param name="AcceptOnMatch" value="true"/>                        
        </filter>
        <filter class="org.apache.log4j.varia.DenyAllFilter"/>
    </appender>
    <root>
        <level value="debug"/>
        <appender-ref ref="CA"/>
        <appender-ref ref="TIMER"/>
        <appender-ref ref="EXCEPTION"/>
    </root>
</log4j:configuration>

我遇到的问题是文件的大小是通过que建立的文件大小...

为什么会发生这种情况的任何想法?

3 个答案:

答案 0 :(得分:0)

尝试为调试添加log4j:configuration属性。

例如。

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">

<!-- something -->

</log4j:configuration>

将调试信息写入控制台。

答案 1 :(得分:0)

您可以稍后尝试分配MaxBackupIndex first and MaxFileSize`。如果该配置有效

<appender name="TIMER" class="org.apache.log4j.RollingFileAppender">
    <param name="file" value="C:\\timer.log"/>       
          <param name="MaxBackupIndex" value="5"/>     
          <param name="MaxFileSize" value="20MB"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss,SSS} KTS %5p [%F] - %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelMatchFilter"> 
        <param name="LevelToMatch" value="INFO"/> 
        <param name="AcceptOnMatch" value="true"/>                        
    </filter>
    <filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>

答案 2 :(得分:0)

很抱歉,但我已经解决了这个问题,忘了把回复放在这里。

问题是因为我需要重新启动应用程序时,某些线程没有被销毁,锁定日志文件。

感谢您的帮助