【发布时间】:2016-12-13 18:53:51
【问题描述】:
我已将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。
更新
我一直在玩这个,似乎如果我更改为Level.FINE 他们会登录。也许有什么地方过滤掉了过高的日志?
【问题讨论】:
-
您应该给出精确度:您正在使用的日志库和日志配置。这可能有助于理解。
-
@davidxxx 我编辑了,但使用 java 日志记录器,除了我添加的之外,属性文件中的默认配置看起来像默认配置。
-
不是直接主题,但
java.util.logging不一定是最佳选择。它效率不高,配置选项非常有限,并且对于 slf4J 来说不是标准化的。如果你有选择,看看 slf4J 和 Logback 还是 Log4J ?不管怎样,我只是做了一个回答。 -
@davidxxx 目前在游戏中切换记录器不是我能做的。稍后我会将其提交给团队以供以后发布:-) 感谢您的回答,我在那里找到了更多信息。