From 9a44fcc440bacb1f0d8c71b2d20ecc10dacdf536 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sat, 2 May 2020 11:46:11 +0200 Subject: [PATCH] DefaultLogger: added method for skipping logger initialization if logger is already configured --- PythonLibs/DefaultLogger.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/PythonLibs/DefaultLogger.py b/PythonLibs/DefaultLogger.py index 3681b52..c83cdbb 100644 --- a/PythonLibs/DefaultLogger.py +++ b/PythonLibs/DefaultLogger.py @@ -6,6 +6,19 @@ class DefaultLogger: DEFAULT_LOG_FORMAT = '[%(levelname)-7s] - %(asctime)s - %(module)s.%(funcName)s:%(lineno)d: %(message)s' DEFAULT_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' + @classmethod + def create_logger_if_not_exists(cls, appName: str, + logLevel=logging.DEBUG, + logFormat=None, + dateFormat=None) -> logging.Logger: + + logger = logging.getLogger(appName) + if logging.getLogger(appName).hasHandlers(): + logger.debug(f'Skipping initialization of logger "{appName}" as it is already configured.') + return + + return cls.configure_logger(logger, logLevel, logFormat, dateFormat) + @classmethod def create_logger(cls, appName: str, logLevel=logging.DEBUG, logFormat=None, dateFormat=None) -> logging.Logger: logger = logging.getLogger(appName) -- GitLab