diff --git a/utils/logger.py b/utils/logger.py index 45370d3d..0706f524 100644 --- a/utils/logger.py +++ b/utils/logger.py @@ -5,17 +5,21 @@ from typing import Optional, Union def setup_logger( log_file: Optional[Union[str, PathLike[str]]] = None, - level: int = logging.INFO, + level: Optional[int] = None, overwrite_handler: bool = False, ) -> logging.Logger: # Create a logger and set the logging level logger = logging.getLogger() - logger.setLevel(level) + if level is not None: + logger.setLevel(level) # if logger already has handlers, just return it if logger.hasHandlers() and not overwrite_handler: return logger + # Remove existing handlers before adding new ones + logger.handlers.clear() + # Define the log message format log_format = "%(asctime)s [%(levelname)s] %(message)s" date_format = "%Y-%m-%d %H:%M:%S" @@ -24,13 +28,15 @@ def setup_logger( # Create a file handler and set the file path and format if log_file: file_handler = logging.FileHandler(log_file) - file_handler.setLevel(level) + if level is not None: + file_handler.setLevel(level) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # Create a console handler and set the format console_handler = logging.StreamHandler() - console_handler.setLevel(level) + if level is not None: + console_handler.setLevel(level) # Set the formatter for the handlers console_handler.setFormatter(formatter)