根据此链接:http://logback.qos.ch/manual/appenders.html(在RollingFileAppender中)
在我看来,Logback只提供了一种如何滚动日志文件的有限方法。 基于时间,它可以仅在特定时间间隔内滚动日志文件,例如每小时一次,一次 每分钟。它没有提到如何以编程方式滚动日志文件,这就是我 欲望。我需要一些方法来允许用户决定何时滚动日志文件和日志文件 稍后将由用户使用。
我使用谷歌进行了一些研究,但一无所获。 您能否告诉我如何以编程方式滚动日志文件
提前感谢。
编辑:至少我需要一些方法来指定一个间隔,比如像十分钟一样滚动一个日志文件。
答案 0 :(得分:2)
我建议您自己实施TriggeringPolicy
。因此,制作您自己的实现(它将检查用户设置的全局变量)并使用您的类配置logback。
不确定您的“编辑:”。听起来像标准TimeBasedRollingPolicy
配置。
答案 1 :(得分:0)
(应用开始时间)logback.groovy
可以例如基于这个想法的任意复杂groovy代码翻转:
appender( 'FILE', RollingFileAppender ) {
...
if ( myConditionTrue )
component.rollover() // directly rollover on app start / logback.groovy load
}
如果有人想根据某些检查条件定期进行翻转,可以根据scan(interval)
进行翻转:
appender( ... ){
...
if ( myConditionTrue )
component.rollover()
}
scan(30) // reparse logback.groovy every 30 s if the setup had been changed
提到了一些不错的其他事情here:
SiftingAppender/MDC
使用情况基于discriminator:id
,MDC.put('id','<some-id>')
,log.info(ClassicConstants.FINALIZE_SESSION_MARKER)
log.getAppender('FILE').rollover()