File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
src/main/java/com/mongodb/jdbc/logging Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change 1616
1717package com .mongodb .jdbc .logging ;
1818
19+ import java .util .logging .Handler ;
1920import java .util .logging .Level ;
2021import java .util .logging .Logger ;
2122
@@ -73,11 +74,19 @@ private void createLogger(String className, MongoLogger parentLogger) {
7374 ? className
7475 : parentLogger .connectionId + "_" + className ;
7576 this .logger = Logger .getLogger (loggername );
76- logger .setParent (parentLogger .logger );
7777 logger .setLevel (parentLogger .logger .getLevel ());
78- // Make sure to allow using parent handler
79- logger .setUseParentHandlers (true );
8078
79+ // This is a work-around for the simpler logic of calling `logger.setParent(parent); logger.setUseParentHandlers(true);`
80+ // after configuring the parent logger handlers for the connection.
81+ // This is to avoid issue with log managers which are restricting use of setParent like JBoss Log Manager for example.
82+ for (Handler handler : logger .getHandlers ()) {
83+ // Clean the handler list to avoid any duplication of logs from transitive handlers
84+ logger .removeHandler (handler );
85+ }
86+ for (Handler handler : parentLogger .logger .getHandlers ()) {
87+ // Add all parent handlers
88+ logger .addHandler (handler );
89+ }
8190 this .connectionId = parentLogger .connectionId ;
8291 }
8392
You can’t perform that action at this time.
0 commit comments