Files

45 lines
1.2 KiB
Python

# 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)