0

我正在使用 log4j 1.x(带有 slf4j)。我想在 MaxFileSize 达到 100KB 或每分钟创建滚动文件,以先到者为准。但是,使用以下代码,DatePattern 无法正常工作,并且不是每分钟都创建文件。

 <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="${catalina.home}/logs/RollingFileAppender.log"/>
    <param name="Append" value="true"/>
    <param name="MaxBackupIndex" value="2"/>
    <param name="MaxFileSize" value="100KB"/>  
    <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm"/>
    <param name="ConversionPattern" value="%d{yyyy-MM-dd}-%t-%x-%-5p-%-10c:%m%n" />
  </appender>

我什至试过这个,但在这种情况下,它甚至没有创建任何文件。-

  <appender name="fileAppender" class="org.apache.log4j.rolling.RollingFileAppender">
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="ActiveFileName" value="${catalina.home}/logs/RollingFileAppender.log" />
        <param name="FileNamePattern" value="${catalina.home}/logs/RollingFileAppender.%d{dd-MMM}.log.gz" />
    </rollingPolicy>
    <triggeringPolicy
        class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
        <param name="MaxFileSize" value="100KB" />
    </triggeringPolicy>
    <param name="ConversionPattern" value="%d{yyyy-MM-dd}-%t-%x-%-5p-%-10c:%m%n" />
</appender>

解决此问题的正确方法是什么?

4

1 回答 1

0

似乎您的 XML 文件不完整,您需要在根标记处附加您的附加程序,并具有所需的日志记录级别

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

    <appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="append" value="false" />
       <param name="maxFileSize" value="1000KB" />
       <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm" />
       <param name="maxBackupIndex" value="2" />
       <param name="file" value="${catalina.home}/logs/RollingFileAppender.log" />
       <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" 
               value="%d{yyyy-MM-dd} %-5p %c{1}:%L - %m%n" />
       </layout>
    </appender>

    <root>
        <level value="ERROR" />
        <appender-ref ref="fileAppender" />
    </root>

</log4j:configuration>

我认为您正在寻找的是DailyRollingFileAppender实施。

于 2020-02-01T05:32:08.313 回答