在 Log4j2 中为 TimeBasedTriggeringPolicy 定义 date/time 模式的位置

Where to define the date/time pattern for TimeBasedTriggeringPolicy in Log4j2

我是 Log4j2 的新手,想使用 RollingFileAppender。此外,作为翻转,我想使用 TimeBaseTriggeringPolicy:

The TimeBasedTriggeringPolicy causes a rollover once the date/time pattern no longer applies to the active file.

在上面的站点上有这样一个 TimeBasedTriggeringPolicy 的示例:

<?xml version="1.0" encoding="UTF-8"?>    
<Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log"
    filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="250 MB"/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="error">
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
</Configuration>

"date/time pattern" 上面的配置在哪里定义,决定活动文件是否适用于它?

感谢您的帮助!

那就是filePattern。在您的配置中:

filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">

上面最细化的时间单位是 dd(天),所以它会在每天午夜滚动。