本文介紹了在Log4j基于時間的觸發策略中,調制是什么意思的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
在下例中,每天都會創建一個日志文件。考慮到這個例子,您能提供一個場景來說明在間隔設置為1的情況下modate=‘true’的用法嗎?
<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模式計算翻轉間隔。當MODULATE為FALSE時,將根據應用程序啟動的時間進行翻轉。因此,如果應用程序在下午1:41啟動,并且最小的時間間隔是該小時,則下一次滾動將發生在下午2:41如果MODULATE為TRUE,則將在&Q;EVEN&Q;邊界上進行滾動,因此下一次滾動將在下午3點進行。
btw-示例中的XML無效。它應該是
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
這篇關于在Log4j基于時間的觸發策略中,調制是什么意思的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,