Использование java.util.logging для входа в консоль - PullRequest
23 голосов
/ 08 февраля 2012

Я хочу просто войти в консоль, используя java.util.Logging:

Logger log = Logger.getLogger("my.logger");
log.setLevel(Level.ALL);
ConsoleHandler handler = new ConsoleHandler();
handler.setFormatter(new SimpleFormatter());
log.addHandler(handler);
log.fine("hello world");

но это ничего не печатает. Чего мне не хватает?

Спасибо

Ответы [ 3 ]

29 голосов
/ 08 февраля 2012

Очень просто, у регистратора может быть несколько обработчиков, каждый из которых имеет свой уровень.

handler.setLevel(Level.ALL);
9 голосов
/ 18 марта 2016

Вход в стандартный поток System.out можно легко сделать, добавив обработчик StreamHandler:

logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))
8 голосов
/ 08 февраля 2012

Я не эксперт по журналированию java, но если вы измените log.fine () на log.info (), он напечатает.В чем-то есть что-то подозрительное - на практике я этим никогда не пользовался.Надеюсь, кто-то, кто знает больше, может ответить на этот вопрос.

ДОБАВЛЕНО: Да, штраф особенный.Я нашел ранее SO ответ на этот вопрос :

...