调制 = 'true' 在 Log4j 基于时间的触发策略中表示什么



在下面的示例中,每天都会创建一个日志文件。考虑到这个例子,您能否提供一个场景来显示调制='true'的用法,间隔设置为1。

<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd-HH}.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interal = 1 modulate="true"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration> 

当 Log4j 初始化时,它将根据 %d 模式计算翻转间隔。当调制为假时,将根据应用程序启动的时间发生滚动更新。因此,如果应用程序在下午 1:41 启动,并且最小的时间间隔是小时,则下一次滚动更新将在下午 2:41 发生。 当调制为真时,翻转将发生在"偶数"边界上 - 因此下一次翻转将在下午 3 点发生。

顺便说一句 - 示例中的 XML 无效。它应该是

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

最新更新