From a07cb0f898797227c466653b628afa2c952fc5a4 Mon Sep 17 00:00:00 2001
From: Hans Fangohr <hans.fangohr@mpsd.mpg.de>
Date: Wed, 7 Jun 2023 18:44:21 +0200
Subject: [PATCH] bugfix - suppress duplicate log messages

---
 mpsd-software-environment.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/mpsd-software-environment.py b/mpsd-software-environment.py
index 0d4ca90..73c61b9 100755
--- a/mpsd-software-environment.py
+++ b/mpsd-software-environment.py
@@ -270,7 +270,12 @@ def set_up_logging(loglevel="warning", filename=None):
     shell_handler.setFormatter(shell_formatter)
     # use the log_level_numeric to decide how much logging is sent to shell
     shell_handler.setLevel(log_level_numeric)
-    logger.addHandler(shell_handler)
+    
+    # Here we set the handlers of the RootLogger to be just the one we want.
+    # The reason is that the logging module will add a <StreamHandler <stderr>
+    # (NOTSET)> handler if logging.info/logging.debug/... is used before we
+    # come across this line. And we do not want that additional handler.
+    logger.handlers = [shell_handler]
 
     # if filename provided, write log messages to that file, too.
     if filename:
-- 
GitLab