2016-11-24 149 views
-2

如何在没有其他系统生成信息的情况下在控制台中配置log4j以仅显示我的 log.debug("test log"); 消息? 这是非常令人不安的,当在小应用程序你的控制台与大量无用的(至少对我来说)如 调试信息org.springframework.beans.CachedIntrospectionResults:获取BeanInfo类[org.thymeleaf.spring4.view.ThymeleafView] 我的log4j.properties文件:如何配置log4j

log4j.rootLogger=DEBUG, stdout, file 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

回答

0

您可以使用LoggerMatchFilterDenyAllFilter来限制您的日志appender仅来自您的代码的消息。

LoggerMatchFilter filter = new LoggerMatchFilter(); 
filter.setLoggerToMatch("Your.Root.Namespace"); 
filter.setAcceptOnMatch(true); 
log4j.appender.stdout.addFilter(filter); // Match your messages only. 
log4j.appender.stdout.addFilter(new DenyAllFilter()); // Don't match anything else. 
0

是你的应用程序使用log4j还是要配置? log4j configure steps

如果已经log4j的是在使用中,更改记录级别为ERROR 检查您的应用程序是否使用任何XML配置文件或log4j的属性文件,这样你就可以改变它。

logger level configuration步骤。