我已将logging.properties
设置为以下内容并重新启动tomcat:
com.example.handler.level = FINEST
我有一个方法:
public SearchHistoryItem getSearchHistoryItem(Api1 api1, String stringId, String resultId) {
SearchHistoryItem item = api1.getSearchHistoryDetails(stringId, resultId);
Level level = logger.getLevel();
logger.log(Level.INFO, "Log level is: " + level);
logger.log(Level.FINEST, "item is: " + item);
return item;
}
返回以下内容:
13-Dec-2016 18:32:53.093 INFO [ajp-nio-127.0.0.1-8009-exec-4] com.example.handler.SomeHandler.getSearchHistoryItem Log level is: FINEST
如果你注意到。第一条日志消息打印出我要查找的内容。所以我看到日志确实是FINEST
,我看到正在编写日志消息。但是,我没有看到第二条日志消息。除了在属性文件中设置我需要担心的级别之外还有其他什么吗?
更新
据我所见,我正在使用java.util.logging.Logger
默认配置。
UPDATE
我一直在玩这个,似乎如果我改为Level.FINE
他们会记录。也许有些地方可以过滤掉那些很高的日志?
答案 0 :(得分:1)
我想你的问题在于控制台中的日志。
该Handler使用的默认级别为Level.INFO。 http://docs.oracle.com/javase/6/docs/api/java/util/logging/ConsoleHandler.html
使用FileHandler,其默认级别为Level.ALL,您可能没有遇到此问题。
要么以编程方式设置ConsoleHandler的级别,要么在配置文件中设置它(https://docs.oracle.com/cd/E19717-01/819-7753/gcblo/)
这篇文章提供了有关该问题的更多详细信息: Why are the Level.FINE logging messages not showing?