我想要实现的是在控制台中只记录上述信息,并将所有调试和上述记录到日志文件中.我在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的调试日志.例如,我仍然在控制台上得到这样的东西:
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配置文件中工作.
解决方法 解决问题的方法如下:在“logback.groovy”的开头添加类ThresholdProvIDer的导入:import ch.qos.logback.classic.filter.ThresholdFilter
那么它按预期工作.
我在一个简单的项目中尝试提供的“logback.groovy”.还有一个问题:消息被写入控制台两次.我认为这可以通过微调“记录器”和“根”调用来修复.
总结以上是内存溢出为你收集整理的groovy – 如何使ThresholdFilter工作在对数全部内容,希望文章能够帮你解决groovy – 如何使ThresholdFilter工作在对数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)