user2992188 user2992188 - 1 year ago 58
Java Question

Suppress java util logging from 3rd party jar

I am getting tons of info log messages from a 3rd party jar in my eclipse console. Cracking open the jar I see that it uses java.util.logging. I would like to set the output level for their jar to WARNING.

I have tried using the VM argument of -Djava.util.logging.config.file=pathToMy/
where the contents of the file are:


Unfortunately, that made no difference in the output.

If it makes it any easier, my application uses SLF4J. So if there's a simple answer using a different logging mechanism I can just switch my binding to use it.

Answer Source

Have you used JConsole to determine that:

  1. The VM Summary tab shows that the system property 'java.util.logging.config.file' is set.
  2. The MBean tab->java.util.logging->Operations->getLoggerLevel of blank (no value) returns WARNING.
  3. The MBean tab->java.util.logging->Attributes->LoggerNames contains the list of active 3rd party loggers which can be added to your list of things to disable. The loggers will only be listed if the executing code has created them. Anonymous loggers are not listed but, the default settings are inherited from the root logger.

You can also add the following code to check that your config file is working:

    public static void main(String[] arg) throws Exception {
        String p = System.getProperty("java.util.logging.config.file");
        System.out.println(new File(p).length());