ADM-Purchasing-Tools / app /logger_setup.py
abdulsalam2121
Add automation bot with Flask and Playwright
5b29309
Raw
History Blame Contribute Delete
829 Bytes
import logging
import sys
from datetime import datetime
from pathlib import Path
def setup_logger(name: str = "bot", log_dir: str = "logs") -> logging.Logger:
Path(log_dir).mkdir(exist_ok=True)
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
log_file = Path(log_dir) / f"bot_{timestamp}.log"
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
if logger.handlers:
logger.handlers.clear()
fh = logging.FileHandler(log_file, encoding="utf-8")
fh.setLevel(logging.DEBUG)
fh.setFormatter(logging.Formatter("%(asctime)s [%(levelname)-8s] %(message)s"))
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.INFO)
ch.setFormatter(logging.Formatter("[%(levelname)s] %(message)s"))
logger.addHandler(fh)
logger.addHandler(ch)
return logger