34 lines
870 B
Python
34 lines
870 B
Python
from __future__ import annotations
|
|
|
|
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
from pathlib import Path
|
|
|
|
|
|
def setup_logging(log_dir: str) -> None:
|
|
target_dir = Path(log_dir)
|
|
target_dir.mkdir(parents=True, exist_ok=True)
|
|
log_file = target_dir / "ota-agent.log"
|
|
|
|
root_logger = logging.getLogger()
|
|
root_logger.setLevel(logging.INFO)
|
|
|
|
formatter = logging.Formatter(
|
|
"%(asctime)s [%(levelname)s] %(name)s - %(message)s"
|
|
)
|
|
|
|
file_handler = RotatingFileHandler(
|
|
log_file,
|
|
maxBytes=2 * 1024 * 1024,
|
|
backupCount=3,
|
|
encoding="utf-8",
|
|
)
|
|
file_handler.setFormatter(formatter)
|
|
|
|
stream_handler = logging.StreamHandler()
|
|
stream_handler.setFormatter(formatter)
|
|
|
|
root_logger.handlers.clear()
|
|
root_logger.addHandler(file_handler)
|
|
root_logger.addHandler(stream_handler)
|