Spaces:
Build error
Build error
| # src/utils/logger.py | |
| import logging | |
| import os | |
| def setup_logger(name: str, log_file: str = 'me_pavement_design.log', level: int = logging.INFO) -> logging.Logger: | |
| """ | |
| Sets up a logger with the specified name and log file. | |
| :param name: Name of the logger. | |
| :param log_file: File where logs will be saved. | |
| :param level: Logging level. | |
| :return: Configured logger. | |
| """ | |
| logger = logging.getLogger(name) | |
| logger.setLevel(level) | |
| # Avoid adding multiple handlers to the logger | |
| if not logger.handlers: | |
| # Create handlers | |
| fh = logging.FileHandler(log_file) | |
| fh.setLevel(level) | |
| ch = logging.StreamHandler() | |
| ch.setLevel(level) | |
| # Create formatter and add it to handlers | |
| formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| fh.setFormatter(formatter) | |
| ch.setFormatter(formatter) | |
| # Add handlers to the logger | |
| logger.addHandler(fh) | |
| logger.addHandler(ch) | |
| return logger | |