所以我在DailyRollingFileAppender
中有一个log4j
。我们正在从log4j
转移到log4j2
。以下是描述DailyRollingFileAppender设置的log4j XML:
<appender name="appender_1" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="/mnt/analytics/logs/others/analytics_.log"/>
<!-- Rollover at the top of every hour. -->
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mmz}|%m%n"/>
</layout>
</appender>
如您所见,目前我们的日志在每小时的顶部翻转。在log4j2中,相同格式的确切配置是什么,即每小时顶部的翻转日志?
我知道log4j2中的对应类是RollingFile
,但是指定上述翻转策略的配置是什么?
答案 0 :(得分:1)
<RollingFile name="appender_1" fileName="/mnt/analytics/logs/others/analytics_.log"
filePattern="/mnt/analytics/logs/others/analytics_.log.%d{yyyy-MM-dd-HH}">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mmz}|%m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>
<DefaultRolloverStrategy max="24"/>
</RollingFile>
间隔单位由文件模式日期中提供的最小单位确定。在我们的例子中,最小的单位是小时。如果间隔指定为2,则它将每两个小时翻转一次。请注意,日期查找可以是文件模式中的任何位置,但必须存在以执行基于时间的翻转。