所以我在 log4j
中有一个 DailyRollingFileAppender
。我们正在从 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
,但是指定上述翻转策略的配置是什么?
最佳答案
<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,它将每两小时滚动一次。请注意,日期查找可以位于文件模式中的任何位置,但必须存在才能进行基于时间的翻转。
关于java - 将具有每小时滚动策略的 RollingFileAppender 从 log4j 移动到 log4j2 的确切配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831779/