**我希望我的solr-indexer日志在每天上午12点UTC滚动,这意味着.gz文件应该在每天00:00:00 UTC创建,它应该包含前一天从00:00:00 UTC开始到23:59:59 UTC结束的所有日志。
例如,在11月21日00:00:00 UTC创建的日志(.gz)文件应包含11月20日的所有24小时日志。
这就是我的log4j 2 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>
</Configuration>
字符串
我也试过modulate=“true”,但它没有在zip文件中显示一整天的日志。目前日志文件(出于某种未知原因)每天在06:10 UTC创建,它不包含一整天的日志。
1条答案
按热度按时间ijxebb2r1#
滚动文件附加器使用
%d{...}
模式中的时区来确定一天结束的时间。日期模式的一般形式是:字符串
如果缺少
timezone
参数,则默认为系统时区。如果你想在UTC基础上旋转,只需更改:
型
到
型