本文介紹了在Log4j基于時(shí)間的觸發(fā)策略中,調(diào)制是什么意思的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
在下例中,每天都會(huì)創(chuàng)建一個(gè)日志文件。考慮到這個(gè)例子,您能提供一個(gè)場(chǎng)景來(lái)說(shuō)明在間隔設(shè)置為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初始化時(shí),它將根據(jù)%d模式計(jì)算翻轉(zhuǎn)間隔。當(dāng)MODULATE為FALSE時(shí),將根據(jù)應(yīng)用程序啟動(dòng)的時(shí)間進(jìn)行翻轉(zhuǎn)。因此,如果應(yīng)用程序在下午1:41啟動(dòng),并且最小的時(shí)間間隔是該小時(shí),則下一次滾動(dòng)將發(fā)生在下午2:41如果MODULATE為T(mén)RUE,則將在&Q;EVEN&Q;邊界上進(jìn)行滾動(dòng),因此下一次滾動(dòng)將在下午3點(diǎn)進(jìn)行。
btw-示例中的XML無(wú)效。它應(yīng)該是
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
這篇關(guān)于在Log4j基于時(shí)間的觸發(fā)策略中,調(diào)制是什么意思的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,