【问题标题】:Where to define the date/time pattern for TimeBasedTriggeringPolicy in Log4j2在 Log4j2 中为 TimeBasedTriggeringPolicy 定义日期/时间模式的位置
【发布时间】:2015-03-29 21:15:14
【问题描述】:

我是 Log4j2 的新手,想使用 RollingFileAppender。进一步作为翻转我想使用 TimeBaseTriggeringPolicy:

一旦日期/时间模式不再适用于活动文件,TimeBasedTriggeringPolicy 会导致翻转。

在上面的网站上有一个这样的 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>

在上面定义的“日期/时间模式”的配置中,确定活动文件是否适用于它的位置在哪里?

感谢您的帮助!

【问题讨论】:

    标签: java logging configuration log4j log4j2


    【解决方案1】:

    那是文件模式。在您的配置中:

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

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

    【讨论】:

    • TimeBasedTriggeringPolicy 和 SizeBasedTriggeringPolicy 之间的顺序重要吗?
    • 不,任何订单都可以,因为结果要么是“是翻转”,要么是“不翻转”。
    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多