使用java.util.logging登录控制台

Mic*_*ael 23 java java.util.logging

我想简单地使用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");
Run Code Online (Sandbox Code Playgroud)

但这没有打印出来.我错过了什么?

谢谢

Joo*_*gen 30

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

handler.setLevel(Level.ALL);
Run Code Online (Sandbox Code Playgroud)

  • 这引出了一个问题:如果它没有设置级别,那么Logger.setLevel()的目的是什么? (2认同)

kir*_*ilv 9

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

logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))
Run Code Online (Sandbox Code Playgroud)


use*_*300 8

我不是java日志记录的专家,但如果你将log.fine()更改为log.info(),它将打印出来.有一些可疑的东西 - 在实践中,我从未使用它.希望有更多了解的人可以回答这个问题.

补充:是的,很好是特别的.我找到了一个早期的SO答案: