java - 将具有每小时滚动策略的 RollingFileAppender 从 log4j 移动到 log4j2 的确切配置?

标签 java logging log4j log4j2

所以我在 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/

相关文章:

python - 记录多进程/多线程python脚本的死锁

logging - Kubernetes Pod日志的绝对路径是什么?

java - 选择日志记录提供商

java - Wicket 口动态图像 URL

apache-spark - 禁止 Spark parquet 中的日志记录

java - 从 JSSE 中的 TLS client_hello 访问密码套件列表

java - Log4J - 确定记录器是否无法写入文件系统

java - 在 hibernate 中包含 log4j 属性文件以显示带有值而不是问号的查询

java - 在数据库中插入记录时出错

Java:雅虎通讯录API