import logging
import os
from datetime import datetime
[docs]
def setup_logger(log_dir: str = "logs", name: str = "wimarka", level=logging.INFO):
os.makedirs(log_dir, exist_ok=True)
log_file = os.path.join(log_dir, f"{name}_{datetime.now():%Y%m%d_%H%M%S}.log")
logger = logging.getLogger(name)
logger.setLevel(level)
if not logger.handlers:
console_handler = logging.StreamHandler()
console_handler.setLevel(level)
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(level)
formatter = logging.Formatter(
fmt="[%(asctime)s] [%(levelname)s] %(name)s: %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
logger.addHandler(console_handler)
logger.addHandler(file_handler)
return logger