繁体   English   中英

如果不存在,Log4j2将创建新的日志文件

[英]Log4j2 create new log file if not exist

我正在使用RollingRandomAccessFile appende进行log4j日志记录,一切正常,

    <RollingRandomAccessFile name="xxx.FLT" fileName="${sys:xxx.log.path}FLT.log" filePattern="${sys:xxx.log.path}FLT.log.%i" append="true" immediateFlush="true" bufferSize="262144">
        <PatternLayout pattern="%d{MM-dd-yyyy HH:mm:ss,SSS} [%t] %level{WARN=WARNING, DEBUG=FINE, ERROR=SEVERE} %logger{36} - %convInfo %msg%n"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="100MB"/>
        </Policies>
        <DefaultRolloverStrategy fileIndex="max" min="1" max="5" compressionLevel="3"/>
    </RollingRandomAccessFile>

在应用程序启动时,将创建所有日志文件。 我有另一个进程,如果它们在一段时间后没有得到更新,则从光盘中删除日志文件。

如果此进程删除了日志文件,则不会在新的日志事件中再次创建。

如果在发生新日志事件时在给定位置不存在,我想创建新的日志文件

我知道什么时候应用程序重新启动丢失的文件将再次创建,但我想在发生日志事件时创建日志文件。

除了代码级别更改之外,我更倾向于进行配置级别更改。

您需要做的就是确保删除日志文件仅由log4j处理。 这样您就永远不会丢失当前的日志文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM