Fix clear_preexisting_handers functionality.
authorScott Gasch <[email protected]>
Mon, 6 Mar 2023 04:36:39 +0000 (20:36 -0800)
committerScott Gasch <[email protected]>
Mon, 6 Mar 2023 04:36:39 +0000 (20:36 -0800)
src/pyutils/logging_utils.py

index 8011604e7c3ee25fc5ed33ed4944e8d4b269f281..e1f3a2221b4e3f3e27441d5ace08e959f3f18257 100644 (file)
@@ -921,20 +921,19 @@ def initialize_logging(logger=None) -> logging.Logger:
         return logging.getLogger()
     LOGGING_INITIALIZED = True
 
+    clear_preexisting = config.config["logging_clear_preexisting_handlers"]
     preexisting_handlers_count = 0
     if logger is None:
-        # --logging_clear_preexisting_handlers removes logging handlers
-        # that were registered by global statements during imported module
-        # setup.
-        if config.config["logging_clear_preexisting_handlers"]:
-            logging.basicConfig(force=True)
-            logger = logging.getLogger()
-            while logger.hasHandlers():
-                logger.removeHandler(logger.handlers[0])
-                preexisting_handlers_count += 1
-        else:
-            logging.basicConfig()
-            logger = logging.getLogger()
+        logging.basicConfig(force=clear_preexisting)
+        logger = logging.getLogger()
+
+    # --logging_clear_preexisting_handlers removes logging handlers
+    # that were registered by global statements during imported module
+    # setup.
+    if clear_preexisting:
+        while logger.hasHandlers():
+            logger.removeHandler(logger.handlers[0])
+            preexisting_handlers_count += 1
 
     # --logging_config_file pulls logging settings from a config file
     # skipping the rest of this setup.