import logging
|
from pathlib import Path
|
|
|
def setup_logging(log_file: Path, level: str = "INFO") -> None:
|
log_file.parent.mkdir(parents=True, exist_ok=True)
|
|
logger = logging.getLogger()
|
logger.setLevel(getattr(logging, level.upper(), logging.INFO))
|
logger.handlers.clear()
|
|
formatter = logging.Formatter(
|
"%(asctime)s [%(levelname)s] %(name)s - %(message)s"
|
)
|
|
stream_handler = logging.StreamHandler()
|
stream_handler.setFormatter(formatter)
|
|
file_handler = logging.FileHandler(log_file, encoding="utf-8")
|
file_handler.setFormatter(formatter)
|
|
logger.addHandler(stream_handler)
|
logger.addHandler(file_handler)
|