java - 为什么记录了 INFO 而不是 FINEST

标签 java tomcat logging

我已经使用以下内容设置了我的 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 日志级别为:FINEST

如果你注意到。第一条日志消息打印出我正在寻找的内容。所以我看到日志记录确实是 FINEST,并且我看到正在写入日志消息。但是我没有看到打印的第二条日志消息。除了在属性文件中设置级别之外,还有什么我需要担心的吗?

更新

据我所知,我正在使用默认配置的 java.util.logging.Logger

更新 我一直在玩这个,似乎如果我更改为 Level.FINE 他们会记录。也许某处有什么东西过滤掉了过高的日志?

最佳答案

我想您的问题出在控制台中的日志上。

该处理程序使用的默认级别是 Level.INFO。 http://docs.oracle.com/javase/6/docs/api/java/util/logging/ConsoleHandler.html

使用默认级别为 Level.ALL 的 FileHandler,您就不会遇到这个问题。

要么以编程方式设置 ConsoleHandler 的级别,要么在配置文件 (https://docs.oracle.com/cd/E19717-01/819-7753/gcblo/) 中设置它

这篇文章提供了有关该问题的更多详细信息: Why are the Level.FINE logging messages not showing?

关于java - 为什么记录了 INFO 而不是 FINEST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128524/

相关文章:

java - ubuntu 16 上的 Tomcat 8.5.15 内存不足错误

java - log4j 在哪里/如何查找 log4j.properties 文件?

linux - 在日志文件中与脚本 shell (linux 批处理)和重定向融洽相处

java - java中使用\(反斜杠)的子字符串

java - 一段时间后,Tomcat 停止使用其他 API

java - Eclipse 中的 windowbuilder,不确定如何显示窗口

tomcat - nginx怎么知道tomcat A挂了不给它发请求

java - 关闭 hibernate 日志控制台输出

java - 如何比较 2 个 xml 文件以更改节点?

java - Gradle无法识别Java 10+方法