Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from api.config import get_settings
- settings = get_settings()
- APP_HOST = settings.APP_HOST
- APP_PORT = settings.APP_PORT
- APP_NAME = settings.APP_NAME
- PATH_PREFIX = settings.PATH_PREFIX
- def write_log(msg):
- print(msg)
- def get_log_config() -> dict:
- return {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'formatters': {
- 'simple': {
- 'format': f"[%(asctime)s] %(levelname)s [{APP_HOST}:{APP_PORT}{PATH_PREFIX}"
- f"/%(filename)s::%(funcName)s:%(lineno)d] %(message)s"
- },
- },
- 'handlers': {
- 'async_handler': {
- 'level': 'INFO',
- 'formatter': 'simple',
- 'class': 'asynclog.AsyncLogDispatcher',
- 'func': 'api.config.log_config.write_log',
- }
- },
- 'loggers': {
- f'{APP_NAME}': {
- 'handlers': ['async_handler'],
- 'level': 'DEBUG',
- 'propagate': False,
- },
- 'uvicorn': {
- 'handlers': ['async_handler'],
- 'level': 'INFO',
- 'propagate': False,
- },
- # Не даем стандартному логгеру fastapi работать по пустякам и замедлять работу сервиса
- 'uvicorn.access': {
- 'handlers': ['async_handler'],
- 'level': 'ERROR',
- 'propagate': False,
- },
- },
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement