【问题标题】:log4j2 - rolling file not createdlog4j2 - 未创建滚动文件
【发布时间】:2023-03-26 13:11:01
【问题描述】:

我刚搬到 log4j2。它工作得很好,但没有创建滚动文件。我四处搜索,但没有找到任何线索(stackoverflow上有一些类似的主题,但它们似乎对我没有帮助)。

这是我的配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
    <RollingFile name="RollingFile" fileName="logging-file.log" filePattern="logging-file-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <pattern>%d{ISO8601} %X %5p %c{1}: - %m%n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="100 MB" />
        </Policies>
        <DefaultRolloverStrategy max="10"/>
    </RollingFile>

    <Console name="Stdout" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{ISO8601} %X %5p %c{1}: - %m%n"/>
    </Console>
</Appenders>

<Loggers>
    <Root level="info">
        <AppenderRef ref="Stdout"/>
        <AppenderRef ref="RollingFile"/>
    </Root>
</Loggers>
</Configuration>

任何帮助将不胜感激! 提前谢谢!

【问题讨论】:

    标签: log4j2


    【解决方案1】:

    您的 filePattern 包含一个 %d(日期对话模式)和一个 %i(指定日期模式内的索引,在您的情况下为日期)。但是,您只在翻转策略部分指定了 SizeBasedTriggeringPolicy。您还需要添加 TimeBasedTriggeringPolicy。这样,您将获得基于时间和基于大小的翻转的所需组合。

    详情见https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender

    【讨论】:

    • 感谢您的回答。我怎样才能添加它?在谷歌中快速搜索“DateBasedTriggeringPolicy log4j2”没有给我任何结果。
    • 我的错:它是基于时间的......不是基于日期的。道歉。更新了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2017-01-17
    相关资源
    最近更新 更多