我该如何在日志API中配置根记录器的行为?我不想单独配置每个记录器的行为,而是希望有一个单独的属性文件,可以设置所有记录器的行为,这样会非常方便。
使用以下方法获取根日志记录器:
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);
java.util.logging
(JUL)实现:如果是这样,请查看Java Almanac的相关部分。 JUL配置的概述信息在此处。基本上,方法是为所有记录器使用单个配置文件。
更新:已删除Java Almanac的链接,因为它不再有效(链接失效),如jschoen的评论中所提到的。请使用Google查找替代信息源。我建议直接使用Apache Commons Logging或log4j。它们更加方便和灵活。
编辑:
如果你想从属性文件配置日志,建议参考Vinay Sajip's answer。若要在程序中获取根记录器并使用API进行配置,则可以请求名为“”的记录器,就像这里所说here。
private final static Logger logger = Logger.getLogger("");