使用java logging API配置根记录器

Seb*_*ler 5 java logging

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

Alg*_*giz 7

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

Logger system = Logger.getLogger("");
Run Code Online (Sandbox Code Playgroud)

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

就我而言,我愿意让它安静下来.我成功地使用以下代码:

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);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Tim*_*the -11

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

编辑:

如果您想从属性文件配置日志记录,您应该使用Vinay Sajip 的答案。要在程序中获取根 Logger 并使用 API 配置它,您可以要求名为“”的 Logger,就像这里所说的那样

private final static Logger logger = Logger.getLogger("");
Run Code Online (Sandbox Code Playgroud)

  • -1,问题说“使用 xyz 库”,我该怎么做“abc”...你的答案是“不要使用 xyz 库...哦,顺便说一下,这是其他人所说的”,这是粗鲁和没有建设性。<br> 这就像有人说“我的 Windows 计算机有 abc 问题”,然后被问到问题的人回答“不要使用 Windows。你应该使用 Linux(或 Mac)”。 (12认同)
  • 为什么舒服多了?我已经使用日志记录 api 设置了用于日志记录的所有内容,更改所有内容并不方便。 (5认同)