使用标准的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/