codeby-hp's picture
Upload 7 files
ae467e7 verified
raw
history blame contribute delete
992 Bytes
import logging
import sys
from logging.handlers import RotatingFileHandler
from pathlib import Path
def get_logger(name: str) -> logging.Logger:
logger = logging.getLogger(name)
if logger.hasHandlers():
return logger
logger.setLevel(logging.DEBUG)
logs_dir = Path("logs")
logs_dir.mkdir(exist_ok=True)
formatter = logging.Formatter(
fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
file_handler = RotatingFileHandler(
logs_dir / "app.log",
maxBytes=10 * 1024 * 1024,
backupCount=5
)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
return logger