diff --git a/PythonLibs/DefaultLogger.py b/PythonLibs/DefaultLogger.py index 3681b52f4f630cec0c2b538ad26578c64d7a9755..c83cdbb4164436ce4d75edfe487db489a0a2e812 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)