java - 如何在不同的 Java 类中设置单独的日志级别?

标签 java java.util.logging log-level

(我是 Java 新手,我已经读过 java.util.logging: how to set level by logger package (or prefix)?。因为它无法回答我的问题,所以就在这里)

我正在开发一个具有 private static final Logger log = Logger.getLogger(XXX.class.getName()); 的系统多个类中的属性( XXX 是相应的类)。

我使用log.setLevel(level)与不同level s,但所有log对象似乎在相同日志级别上工作。打印 log本身,似乎表明个人log对象实际上是相同的。我不明白为什么。

调试输出如下:

[CONFIG ]...Parser init: java.util.logging.Logger@6bc7c054 logging level FINE
[CONFIG ]...Tokenizer init: java.util.logging.Logger@6bc7c054 logging level CONFIG

仍然是Parser CONFIG 级别的类日志...

最佳答案

Printing the log itself, seems to indicate that the individual log objects are actually the same. I don't understand why.

ParserTokenizer正在调用Logger.getLogger(XXX.class.getName());同名XXX类(class)。修改您的代码示例以打印 name记录器的。

Debug output is like this

这是 Minimal, Complete, and Verifiable example 的位置帮我。级别用于限定消息,级别用于过滤消息。如果您至少不包含生成调试输出的代码,则很难说出列出的每个级别的含义。

关于java - 如何在不同的 Java 类中设置单独的日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49917507/

相关文章:

java - "Dining Philosophers"在Java中使用Future

java - 将 logback-access 与 Google App Engine (GAE) 结合使用

java - 为什么 JBoss 5.1 中 ShutdownHook 中的 java.util.Logger 并不总是打印到 server.log?

logging - 方法输入/退出使用什么日志级别?

java - 简单的 Java 多线程测试不起作用

java - 为 Android 编程时是否需要指定列表的初始大小?

tomcat - 我想创建处理程序来捕获 Tomcat 上所有 Web 应用程序的日志,并且

docker - 如何启用Docker守护程序的 “debug”日志记录? (Ubuntu 16.04)

c# - 覆盖 MinimumLevel 在 Serilog 中不起作用

java.lang.reflect.inaccessibleobjectexception 无法使 jdk.internal.loader.classloaders