簡體   English   中英

log4j - RollingFileAppender - 日期模式和 MaxFileSize

[英]log4j - RollingFileAppender - datepattern and MaxFileSize

我正在使用 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>

解決此問題的正確方法是什么?

似乎您的 XML 文件不完整,您需要在具有所需日志記錄級別的根標記處附加您的 appender

<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實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM