Newer
Older
from pydantic import BaseModel
LOG_LEVEL = os.getenv('LOG_LEVEL') or 'INFO'
class LogConfig(BaseModel):
"""Logging configuration to be set for the server"""
LOG_FORMAT: str = "%(levelprefix)s | %(asctime)s | %(message)s"
LOG_LEVEL: str = LOG_LEVEL
# Logging config
version: int = 1
disable_existing_loggers: bool = False
formatters: Dict = {
"default": {
"()": "uvicorn.logging.DefaultFormatter",
"fmt": LOG_FORMAT,
"datefmt": "%Y-%m-%d %H:%M:%S",
},
}
"default": {
"formatter": "default",
"class": "logging.StreamHandler",
"stream": "ext://sys.stderr",
},
}
'': {"handlers": ["default"], "level": LOG_LEVEL, 'propagate': False},
'uvicorn': {"handlers": ["default"], "level": LOG_LEVEL, 'propagate': False}
}
class EndpointFilter(logging.Filter):
def filter(self, record: logging.LogRecord) -> bool:
return record.getMessage().find("/health") == -1