日志未在所需时间滚动(Log4j2)

问题描述 投票:0回答:1

我希望我的 solr-indexer 日志在世界标准时间 (UTC) 每天上午 12 点滚动,这意味着 .gz 文件应在每天 00:00:00UTC 创建,并且应包含前一天从 00 开始的所有日志:00:00UTC 并在 23:59:59UTC 结束。 例如,11 月 21 日 00:00:00UTC 创建的日志(.gz)文件应包含 11 月 20 日的所有 24 小时日志。

这就是我的 log4j2 xml 文件的样子:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" packages="com.fidelis.k2.logging.filter">
    <Properties>
        <Property name="log_path">/opt/k2/logs</Property>
        <Property name="log_pattern">%t - %d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n</Property>
    </Properties>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>

        <RollingFile name="rollingFile" fileName="${log_path}/solr_data_uploader.log"
                     filePattern="${log_path}/solr_data_uploader-%d{yyyy-MM-dd}.log.gz">
            <PatternLayout>
                <pattern>${log_pattern}</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="false" timeUnit="days"/>
            </Policies>
            <DefaultRolloverStrategy max="15"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="com.fidelis.k2" level="info" additivity="false">
            <AppenderRef ref="rollingFile"/>
        </Logger>
        <Root level="info">
            <AppenderRef ref="console"/>
        </Root>
    </Loggers>

我也尝试使用 modulate="true" ,但它没有在 zip 文件中显示一整天的日志。 目前,日志文件(出于某种未知原因)每天在 06:10UTC 创建,并且不包含全天的日志。

java logging log4j log4j2
1个回答
0
投票

滚动文件附加程序使用

%d{...}
模式中的时区来确定一天何时结束。日期模式的一般形式是:

%d{format specifiers}{timezone}

如果缺少

timezone
参数,则默认为系统时区。

如果你想以UTC为基础进行旋转,只需更改:

<RollingFile name="rollingFile"
             fileName="${log_path}/solr_data_uploader.log"
             filePattern="${log_path}/solr_data_uploader-%d{yyyy-MM-dd}.log.gz">

<RollingFile name="rollingFile"
             fileName="${log_path}/solr_data_uploader.log"
             filePattern="${log_path}/solr_data_uploader-%d{yyyy-MM-dd}{UTC}.log.gz">
© www.soinside.com 2019 - 2024. All rights reserved.