Michael
Michael

Reputation: 5062

Using java.util.logging to log on the console

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

Upvotes: 27

Views: 77641

Answers (3)

kirilv
kirilv

Reputation: 1431

Logging on the standard System.out stream could be easily done by adding a StreamHandler handler:

logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))

Upvotes: 13

Joop Eggen
Joop Eggen

Reputation: 109532

Very simple, a logger can have several handlers, with each a different level.

handler.setLevel(Level.ALL);

Upvotes: 33

user949300
user949300

Reputation: 15729

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:

Upvotes: 9

Related Questions