File size: 480 Bytes
9190d78 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import logging
from typing_extensions import Literal
from rich.logging import RichHandler
def get_logger(name: str, level: Literal["info", "warning", "debug"]) -> logging.Logger:
rich_handler = RichHandler(level=logging.INFO, rich_tracebacks=True, markup=True)
logger = logging.getLogger(name)
logger.setLevel(logging._nameToLevel[level.upper()])
if not logger.handlers:
logger.addHandler(rich_handler)
logger.propagate = False
return logger
|