# tools/weather_logger.py import logging import logging.handlers from pathlib import Path def set_up_logger(): logger = logging.getLogger() if logger.hasHandlers(): return logger.setLevel(logging.DEBUG) logging.getLogger("PIL").setLevel(logging.WARNING) formatter = logging.Formatter( "{asctime} - {levelname:>7}: {message}", "%y-%m-%d %H:%M:%S", style="{" ) log_dir = Path(__file__).parent.parent.joinpath("logs") log_dir.mkdir(parents=True, exist_ok=True) debugFileHandler = logging.handlers.RotatingFileHandler( filename=log_dir.joinpath("debug.log"), maxBytes=1_048_576, backupCount=5, ) debugFileHandler.setFormatter(formatter) debugFileHandler.setLevel(logging.DEBUG) infoFileHandler = logging.handlers.RotatingFileHandler( filename=log_dir.joinpath("info.log"), maxBytes=1_048_576, backupCount=3, ) infoFileHandler.setFormatter(formatter) infoFileHandler.setLevel(logging.INFO) console = logging.StreamHandler() console.setFormatter(formatter) console.setLevel(logging.INFO) logger.addHandler(debugFileHandler) logger.addHandler(infoFileHandler) logger.addHandler(console)