【问题标题】:java.util.logging.Logger swallowing logsjava.util.logging.Logger 吞下日志
【发布时间】:2012-06-04 14:24:00
【问题描述】:

我正在使用java.util.logging.Logger,我想启用所有日志级别。我认为以下方法会起作用:

logger.setLevel(Level.ALL);

但显然不是。只有INFO级别的日志语句在生效,其他的正在被吞噬。

如何启用所有日志级别?

【问题讨论】:

  • 我在 android 原生日志记录方面也有类似的经验,但到目前为止没有得到任何答复。见stackoverflow.com/questions/9468444/…
  • @k3b,这令人惊讶。我希望至少知道这个问题的答案。

标签: java logging


【解决方案1】:

可能是日志处理程序吞下了日志记录。您还需要在处理程序上设置日志级别。例如:

for (Handler handler : Logger.getLogger("").getHandlers()) {
  handler.setLevel(Level.ALL);
}

或者您可以从logging.properties 文件中读取您的配置(只需将它放在您的CLASSPATH 根目录中),或者您可以使用LogManager.getLogManager().readConfiguration(someInputStream) 从流中读取logging.properties 样式的配置。

【讨论】:

  • 我尝试在所有处理程序上将日志级别设置为 Level.ALL。没有区别。
  • 确保您获得了根记录器。您的记录器有一组空的处理程序,它将日志处理推迟到其父记录器。
猜你喜欢
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 2020-12-10
  • 1970-01-01
相关资源
最近更新 更多