【发布时间】:2021-11-27 21:33:30
【问题描述】:
尽管查阅了this question 的答案,但我的 Logger 永远不会显示级别为 FINE 及以下的消息。
Logger root = Logger.getLogger("");
root.setLevel(Level.FINEST); // I have also tried Level.ALL
// Test messages
root.severe("Severe");
root.warning("Warning");
root.info("Info");
root.fine("Fine");
root.finer("Finer");
root.finest("Finest");
代码产生以下输出。
Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
SEVERE: Severe
Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
WARNING: Warning
Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
INFO: Info
我已尝试更新 logging.properties 文件以将ConsoleHandler 的级别设置为ALL 和FINEST,但这不会改变我的结果。如何实际更改记录器的级别?
我的logging.properties:
handlers= java.util.logging.ConsoleHandler
.level= ALL
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
【问题讨论】:
-
请同时提供您的日志记录配置 -
logging.properties文件的内容或在代码中完成的配置。很可能您没有为ConsoleHandler设置正确的日志记录级别。默认情况下,它在 JDK 提供的logging.properties文件中设置为java.util.logging.ConsoleHandler.level = INFO。查看您提到的如何执行此操作的 SO 答案中的Editing the handler Level部分。 -
logging.properties 位于何处?您确定它与您运行程序时使用的 JRE 或 JDK 相同吗?
标签: java logging java.util.logging