【问题标题】:Log4J: How to keep log file after midnightLog4J:如何在午夜后保留日志文件
【发布时间】:2017-09-14 06:26:52
【问题描述】:

可以配置 log4j RollingFileAdapter 在午夜后不更改日志文件名吗?使用我正在使用的配置(见下文),如果日志记录从 2017 年 9 月 15 日开始并持续一夜,00:00 之后的所有内容都将记录到另一个日志文件 2017 年 9 月 16 日。我想完全登录到同一个文件。只有在 2017 年 9 月 16 日开始另一次运行时,才会创建新日志。

<appender name="file-output" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="ImmediateFlush" value="false"/>
    <param name="Threshold" value="INFO"/>
    <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="log/${logfilename}_%d{yyyy-MM-dd}.log"/>
    </rollingPolicy>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n"/>
    </layout>
</appender>

【问题讨论】:

标签: java log4j rollingfileappender


【解决方案1】:

听起来你不需要 ROTATE 文件附加程序。

在您的情况下,我建议您只使用 normarl 文件附加程序,这会将所有日志记录合并到一个文件中。您只需按日期模式命名,例如“yyyy-MM-dd.log”。

ps:如果你想旋转,Linux 上的logrorate 工具也是一个不错的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多