【发布时间】:2011-11-03 11:21:05
【问题描述】:
我想创建可以在第二天开始滚动的日志文件,或者如果它达到指定的文件大小并且日志文件必须包含在日期文件夹中。
文件夹格式为YYYYMMDD (/20111103/mylogfile.log)
是否可以在不实现自定义类的情况下通过 Log4j 做到这一点?
现在我正在使用 log4j 和 log4j-extra, 我将 log4j API 中定义的 FileNamePattern 属性设置为每天滚动我的文件 并将最大文件大小设置为 50 MB。
我的log4j.xml 是:
<appender name="MYAPPENDER" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="encoding" value="UTF-8" />
<param name="append" value="true" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.home}/logs/MY-APP/%d{yyyyMMdd}/MY-APP_%d{yyyyMMddHHmmss}.log" />
</rollingPolicy>
<triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
<param name="maxFileSize" value="50000000" />
</triggeringPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yyyy HH\:mm\:ss}] %-5p [%c.%M(),%4L] - %m%n" />
</layout>
</appender>
上述设置的结果是日志文件在第二天开始时不滚动,但如果文件大小达到 50 MB,日志文件将被滚动。
请帮忙给我建议。 m(_ _)m
【问题讨论】:
-
您找到解决方案了吗?