java logging API,禁止记录到标准输出

标签 java logging

使用标准的java日志记录API(导入java.util.logging.Logger),构建后:

Logger l = Logger.getLogger("mylogger");

我已经可以记录一些东西了。因为它没有 FileHandler,所以它不会向磁盘写入任何内容。

l.severe("test with no handler");

它写入(一些,不是全部)日志消息以输出。 如何禁用此功能? 提前致谢 阿戈斯蒂诺

最佳答案

如果您不知道 java util 日志记录的默认配置,就会出现问题。 建筑事实: 0)每个记录器,无论其名称是什么,都将根记录器作为父记录器。 默认事实: 1)logger属性useParentHandlers默认为true 2) root logger默认有一个ConsoleHandler

所以。一个新的记录器,默认情况下也将其日志记录发送到他的父记录器(第 1 点),即根记录器(第 0 点),默认情况下,将它们记录到控制台(第 2 点)。

删除控制台日志很简单:

Logger l0 = Logger.getLogger("");
l0.removeHandler(l0.getHandlers()[0]);

关于java logging API,禁止记录到标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6077267/

相关文章:

php - 在 Php laravel 中审计用户操作

ruby-on-rails - rails : Logging for code in the lib directory?

java.util.logger.Logger.getAnonymousLogger() 抛出 NullPointerException

java - 具有 GSON 的 Android Volley 库无法将数据设置为 POJO 类

java - 如何在 Windows 8 64 位上构建 Hadoop 2.7.0?

java - 如何通过带有 spring data rest 的备用键公开实体

java - 在java中,如何在线程中获取文件名

java - 如何在 Eclipse RCP 中使用非插件项目和插件项目?

Java从Collection到AbstractCollection的非法转换

java - 对Matcher类的asBoolean方法的误解