Hi all, I am using Tomcat Juli.
In org.apache.juli.ClassLoaderLogManager class, when reading the configuration from the specified classLoaders through below method, *readConfiguration(ClassLoader classLoader)* * * *It checks whether the current classLoader and System Class Loader is same before reading the global logging configuration file. * * * if ((is == null) && *(classLoader == ClassLoader.getSystemClassLoader()*)) { String configFileStr = System.getProperty("java.util.logging.config.file"); if (configFileStr != null) { try { is = new FileInputStream(replace(configFileStr)); } catch (IOException e) { // Ignore } } // Try the default JVM configuration if (is == null) { File defaultFile = new File(new File(System.getProperty("java.home"), "lib"), "logging.properties"); try { is = new FileInputStream(defaultFile); } catch (IOException e) { // Critical problem, do something ... } } } I am really greatful if the reason why such a check [*classLoader == ClassLoader.getSystemClassLoader()*] is required, can be clarified? I am asking this because, I have a scenario which this condition fails due to unequality of the classLoaders. But removing that check fixed the issue and logging happens as expected. Appreciate if you can point me out the possibility of an issue with my change or why that check is there. Thanks, Lakmali