簡體   English   中英

Log4j2無法滾動日志文件

[英]Log4j2 not rolling over log files

我正在用LWJGL3制作游戲,並且正在使用log4j2進行日志記錄。 我正在嘗試設置我的記錄器,該記錄器可以工作,但是每次執行該程序時,它只會覆蓋lastest.log文件,而不是對其進行壓縮然后覆蓋latest.log。 我嘗試設置OnStartupTriggeringPolicy的minSize,因為它的默認值為1,並且我的文件大小目前非常小,但這無濟於事。 有誰對如何使它起作用有任何想法。

log4j2.xml

<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%level] [%t] - %msg%n" />
        </Console>

        <RollingFile name="RollingFile" filename="log/latest.log"
            filePattern="${logPath}/%d{YYYYMMddHHmmss}.log.gz"
            append="false">
            <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%level] [%t] - %msg%n" />
            <Policies>
                <OnStartupTriggeringPolicy minSize="0"/>
                <SizeBasedTriggeringPolicy size="250 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="8"/>
        </RollingFile>
    </Appenders>

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

您是否嘗試添加:

<TimeBasedTriggeringPolicy interval="1" modulate="true"/>

這是我當前在項目中使用的log4j2配置示例。

<RollingFile name="file-log" fileName="${log-path}/autodeployer.log"
                 filePattern="${log-path}/autodeployer-%d{yyyy-MM-dd}-%i.log">
    <PatternLayout>
        <Pattern>${LOG_PATTERN}</Pattern>
    </PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        <SizeBasedTriggeringPolicy size="50MB"/>
    </Policies>
    <DefaultRolloverStrategy max="20"/>
</RollingFile>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM