25

我只想使用 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");

但这什么也没打印。我错过了什么?

谢谢

4

3 回答 3

33

非常简单,一个记录器可以有多个处理程序,每个处理程序都有不同的级别。

handler.setLevel(Level.ALL);
于 2012-02-08T19:05:11.280 回答
11

通过添加 StreamHandler 处理程序可以轻松地登录标准 System.out 流:

logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))
于 2016-03-18T10:21:35.800 回答
9

我不是 java 日志记录方面的专家,但是如果您将 log.fine() 更改为 log.info() 它将打印。罚款有一些可疑之处-实际上,我从未使用过它。希望知道的人能解答一下。

补充:是的,很好很特别。我为此找到了一个较早的SO答案

于 2012-02-08T19:00:06.057 回答