如何在logging api中配置root logger的行为?我不想单独配置每个记录器的行为,相反,如果我有一个属性文件,我可以设置所有记录器的行为,这将非常方便。
答案 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 Logging或log4j。它更加舒适和灵活。
修改强>
如果要从属性文件配置日志记录,则应使用Vinay Sajip's answer。要在程序中获取根Logger并使用API对其进行配置,您可以要求使用名为“”的Logger,就像它说here
一样private final static Logger logger = Logger.getLogger("");