I’m developing a Java application that uses java.util.logging for its logging needs. This application uses a multitude of external libraries (JDBC, JMS clients, JSR-160 implementation, etc), some of which also use java.util.logging.
I want to set the log level for my Loggers to ALL when I specify a flag on the command line, but so far I have only found ways to set the level for all loggers, not just mine.
My loggers are all called “com.mycompany.myapp.SomeClass” and when I set the level for “com.mycompany.myapp” to ALL, no extra information is logged. When I set the level for the root logger to ALL, all information for all loggers is logged to the console, which is way too much information!
How can I set my own loggers to ALL without having all those other loggers flood my logfiles?
Actually, I’m not sure why your having the problems you’ve described. I’ve created a simple JUnit test (below) and setting the log levels works exactly as I expect (which also seems inline with the way you expected them to work).
Are you trying to log messages with levels set below INFO in your custom logger? As you can see from the tests I’ve included, the default logging handler is set to INFO by default. You need to change that Handler’s level to see FINE messages (also shown).
Produces this output…
This is what I was trying to convey in my other response.