diff --git a/esd/logger/logger_config.py b/esd/logger/logger_config.py new file mode 100644 index 0000000000000000000000000000000000000000..3ca3b000fd171dde8ceafdc6731dfb02009e845c --- /dev/null +++ b/esd/logger/logger_config.py @@ -0,0 +1,33 @@ +import logging + + +class LoggerConfig: + """ + This class sets up logging with a file handler + and a stream handler, ensuring consistent + and formatted log messages. + """ + def __init__(self, log_file): + self.log_file = log_file + self._configure_logger() + + def _configure_logger(self): + formatter = logging.Formatter( + fmt='%(asctime)s - %(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' + ) + + file_handler = logging.FileHandler(self.log_file) + file_handler.setFormatter(formatter) + + stream_handler = logging.StreamHandler() + stream_handler.setFormatter(formatter) + + self.logger = logging.getLogger(__name__) + self.logger.setLevel(logging.DEBUG) + + self.logger.addHandler(file_handler) + self.logger.addHandler(stream_handler) + + def get_logger(self): + return self.logger