我基本上按照官方 logback 文档第 7 章的说明进行操作。不幸的是,事情似乎无法正常工作,我不知道为什么。所以,我们到了。
我想要实现的是仅在控制台中记录信息及以上内容,并将所有调试及以上内容记录到日志文件中。我的中有这些行logback.groovy
:
appender("CONSOLE", ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = "%d{YYYY-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
}
filter(ThresholdFilter) {
level = INFO
}
}
logger("vh.FileIO", DEBUG, ['CONSOLE','FILE-DEBUG'])
root(DEBUG, ['CONSOLE'])
我认为ThresholdFilter
只会CONSOLE
获取信息和以上日志。但是,我仍然vh.FileIO
在CONSOLE
. 例如,我仍然在控制台上得到这样的东西:
2013-10-11/21:48:10.537 [main] DEBUG vh.FileIO - Combining all records into file ./output/sip_sample_data_output.csv
那么,我在这里缺少什么?
更新
在玩过 logback 的配置后,我发现如果我使用 XML 配置文件,ThresholdFilter 可以按预期工作。但是,我仍然想知道为什么它在 groovy 配置文件中不起作用。