Source code for api_example.setup_logging

import logging

from api_example import __version__
from api_example.settings.defaults import LOG_LEVEL


[docs] def setup_logging(log_level: str = LOG_LEVEL) -> dict: log_format = "[\%(asctime)s] {\%(name)s} \%(levelname)s - \%(message)s" logging.basicConfig(level=log_level, format=log_format) logging.info(f"[API] Starting service with version {__version__}...") logging.info(f"[API] Log level set to {log_level}") log_config: dict = { "version": 1, "formatters": {"default": {"format": log_format}}, "handlers": { "console": { "formatter": "default", "class": "logging.StreamHandler", "stream": "ext://sys.stdout", "level": log_level, } }, "root": {"handlers": ["console"], "level": log_level}, "loggers": { "gunicorn": {"propagate": True}, "uvicorn": {"propagate": True}, "uvicorn.access": {"propagate": True}, }, } return log_config