great-ai/great_ai/utilities/logger/get_logger.py

25 lines
692 B
Python

import logging
from typing import Dict
from .custom_formatter import CustomFormatter
loggers: Dict[str, logging.Logger] = {}
def get_logger(
name: str, level: int = logging.INFO, disable_colors: bool = False
) -> logging.Logger:
if name not in loggers:
logger = logging.getLogger(name)
logger.setLevel(level)
log_format = "%(asctime)s | %(levelname)8s | %(message)s"
stdout_handler = logging.StreamHandler()
stdout_handler.setLevel(level)
if not disable_colors:
stdout_handler.setFormatter(CustomFormatter(log_format))
logger.addHandler(stdout_handler)
loggers[name] = logger
return loggers[name]