使用java logging API配置根记录器

时间:2009-09-04 07:29:16

标签: java logging

如何在logging api中配置root logger的行为?我不想单独配置每个记录器的行为,相反,如果我有一个属性文件,我可以设置所有记录器的行为,这将非常方便。

3 个答案:

答案 0 :(得分:7)

使用以下命令获取根记录器:

Logger system = Logger.getLogger("");

您现在可以像任何其他记录器一样访问根记录器。

在我的情况下,我愿意让它安静下来。我成功地使用以下代码:

private static void setLevel(Logger pLogger, Level pLevel) {
    Handler[] handlers = pLogger.getHandlers(); 
    for (Handler h : handlers) {
        h.setLevel(pLevel);
    }
    pLogger.setLevel(pLevel);
}

...

setLevel(system, Level.OFF);

希望这有帮助。

答案 1 :(得分:3)

我认为你的意思是java.util.logging(JUL)实现:如果是这样,请查看Java Almanac的相关部分。 JUL配置的概述信息为here。基本上,方法 为所有记录器使用单个配置文件。

更新:删除了Java Almanac的链接,因为它不再有效(linkrot再次出现),如jschoen的评论中所述。请使用Google查找其他信息来源。

答案 2 :(得分:-10)

我建议直接使用Apache Commons Logginglog4j。它更加舒适和灵活。

修改

如果要从属性文件配置日志记录,则应使用Vinay Sajip's answer。要在程序中获取根Logger并使用API​​对其进行配置,您可以要求使用名为“”的Logger,就像它说here

一样
private final static Logger logger = Logger.getLogger("");