I want simply to log on the console using 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");
but this prints out nothing. What am I missing?
Thanks
In Java, we can use the println() method as console. log() to display log messages to the console.
In Java, the LogManager is a class that belongs to the java. util. logging package. It keeps track the global logging configuration, creates, and maintains the logger instances. We can also use it to set its own application-specific configuration.
Very simple, a logger can have several handlers, with each a different level.
handler.setLevel(Level.ALL);
Logging on the standard System.out stream could be easily done by adding a StreamHandler handler:
logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))
I'm no expert on java logging, but if you change log.fine() to log.info() it will print. There's something fishy about fine - in practice, I never used it. Hopefully somebody who knows more can answer that.
ADDED: Yes, fine is special. I found an earlier SO answer for this:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With