【问题标题】:How to generate half-daily logs using log4j2?如何使用 log4j2 生成半天日志?
【发布时间】:2016-07-10 10:21:31
【问题描述】:

我想通过log4j2配置生成半日日志文件。我给了:

<RollingFile name="fileAppender" filename ="${logName} append="true" 
    FilePattern="${logName}. %d{yyyy-MM-dd-a}">

还有定义:

<Policies>
    <TimeBasedTriggeringPolicy interval="1" 
        Module="true"/>

但我只能通过这种方式获得 AM 登录,尽管我希望它成为某种东西:

a.log.2016-03-23-AM
b.log.2016-03-23-PM

有人可以帮助我吗?

【问题讨论】:

    标签: log4j2


    【解决方案1】:

    您可以为此使用 CronTriggeringPolicy。我从Cron Expression (Quartz) for a program to run every midnight at 12 am 的答案中借用了表达式以供实际使用。

    <RollingFile name="fileAppender" filename ="${logName} append="true" FilePattern="${logName}.$$d{yyyy-MM-dd-a}">
        <CronTriggeringPolicy schedule="0 0 0,12 * * ?" />
    </RollingFile>
    

    【讨论】:

    • 在链接中你只能找到正常的 CronExpression。对于 log4j CronExpression,请参阅 CronExpression(Apache)。这里的不同之处在于,在 Apache 中也有秒数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    相关资源
    最近更新 更多