我正在使用log4j 2.0-rc1,StructuredDataMessage和EventLogger来执行动态日志记录。
log4j2.xml配置意味着:
归档不满足文件模式的日志
<Routing name="Routing">
<Routes pattern="$${sd:type}">
<Route>
<RollingFile name="RollingFile-${sd:type}"
fileName="${log.path}/${date:yyyyMMdd}/${date:yyyyMMddHH}-${sd:type}-${hostName}.log"
filePattern="${log.path}/%d{yyyyMMdd}/%d{yyyyMMddHH}-${sd:type}-${hostName}.%i.log.gz">
<PatternLayout>
<!-- %K{v} stands for the message passed in StructuredDataMessage map with key "v" -->
<!-- %n stands for new line -->
<Pattern>%K{v}%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
<SizeBasedTriggeringPolicy size="64 MB"/>
</Policies>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
</Route>
</Routes>
</Routing>
<Root level="warn">
<AppenderRef ref="STDOUT"/>
</Root>
有两个问题:
在新小时触发后几分钟,在“旧”日志文件上执行日志记录:
Feb 19 20:13 2014021919-planoperator-mdmlocal.mobidia.com.log
2月19日20:13 2014021919-planprogress-mdmlocal.mobidia.com.log
2月19日20:13 2014021919-planstats-mdmlocal.mobidia.com.log
2月19日20:08 2014021919-sim-mdmlocal.mobidia.com.log
每当JVM重新启动时,log4j都会放弃未归档的“旧”文件
Feb 19 20:13 2014021919-planstats-mdmlocal.mobidia.com.log
2月19日20:29 2014021920-planstats-mdmlocal.mobidia.com.log
答案 0 :(得分:1)
您提到的第一个问题可能是一个已知问题:https://issues.apache.org/jira/browse/LOG4J2-520 - 如果这不能涵盖您所看到的内容,请随时添加另一个故障单。 (在这种情况下,请提及重现的步骤,实际发生的事情以及您希望发生的事情。越详细,越好。)
关于第二个问题(log4j放弃了未归档的旧文件),您可以在Log4J2问题跟踪器中为此创建一个票证吗?