Files
stand/logcfg.py
T

30 lines
732 B
Python

import logging
from uvicorn.logging import ColourizedFormatter
from uvicorn.config import LOGGING_CONFIG
LOGFMT = "%(asctime)s %(levelprefix)s [%(name)s] %(message)s"
def logcfg(level=logging.INFO, fmt=LOGFMT, **kwargs):
formatter = ColourizedFormatter(fmt=fmt, **kwargs)
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logging.basicConfig(level=level, handlers=[handler])
# add timestamps to uvicorn logs
formatters = LOGGING_CONFIG["formatters"]
for formatter in formatters.values():
if "fmt" not in formatter:
continue
fmt = formatter["fmt"]
if "%(asctime)s" in fmt:
continue
formatter["fmt"] = "%(asctime)s " + fmt