无法显示Level.FINE日志

时间:2016-11-27 17:31:14

标签: java logging

    private static final Logger LOGGER = Logger.getLogger(CLI.class.getName());
    private static final Handler CONSOLE_HANDLER = new ConsoleHandler();

    static {
        CONSOLE_HANDLER.setLevel(Level.ALL);
        LOGGER.addHandler(CONSOLE_HANDLER);
    }

    public static void main(String[] args) {
        LOGGER.fine("test");
    }

我在这里缺少的是,我已经将处理程序的日志级别设置为ALL但仍然没有打印" test"

1 个答案:

答案 0 :(得分:1)

CLI.class.getName()记录器继承了根记录器的日志级别。降低根记录器的日志级别或仅CLI.class.getName()记录器的lower the level

private static final Logger LOGGER = Logger.getLogger(CLI.class.getName());
private static final Handler CONSOLE_HANDLER = new ConsoleHandler();

static {
    LOGGER.setLevel(Level.ALL);
    LOGGER.setUseParentHandlers(false); //Don't report to the root console handler.

    CONSOLE_HANDLER.setLevel(Level.ALL);
    LOGGER.addHandler(CONSOLE_HANDLER);
}

public static void main(String[] args) {
    LOGGER.fine("test");
}