微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java记录API,禁用记录到标准输出

如何解决java记录API,禁用记录到标准输出

| 构造之后,使用标准的Java日志记录API(导入java.util.logging.Logger):
Logger l = Logger.getLogger(\"mylogger\");
我已经可以登录了。由于它没有FileHandler,因此不会向磁盘写入任何内容
l.severe(\"test with no handler\");
它写入(不是全部)日志消息以输出。 如何禁用此功能? 提前致谢 阿戈斯蒂诺     

解决方法

如果您不知道Java util日志记录的默认配置,就会出现问题。 建筑事实: 0)每个记录器,无论其名称是什么,都将根记录器作为父级。 默认事实: 1)记录器属性useParentHandlers默认为true 2)默认情况下,根记录器具有一个ConsoleHandler 所以。默认情况下,新记录器还将其日志记录也发送到其父记录(点1),该父记录是根记录器(点0),默认情况下,将它们记录到控制台(点2)。 删除控制台日志很容易,因为:
Logger l0 = Logger.getLogger(\"\");
l0.removeHandler(l0.getHandlers()[0]);
    ,Java中的标准Logger具有分层结构,默认情况下,子Logger继承其父级的Handler。尝试执行以下操作以禁止使用父处理程序:
l.setUseParentHandlers(false);
    ,禁用此功能意味着您根本不想记录任何内容?如果是这种情况,则必须将该记录器的级别设置为“无” 例如,如果您正在使用日志记录属性文件,则可以设置:
mylogger.level=NONE
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。