前言
Python 3.11.8
fastapi 0.115.12
uvicorn 0.34.2
loguru 0.7.3
uvicorn
默认日志没有时间戳,看起来不方便,主动配置日志格式,使得 uvicorn
打印的日志格式和 loguru
的默认格式一致
uvicorn main:app --host 0.0.0.0 --port 8888 --log-config uvicorn_log_config.json
uvicorn 日志配置文件内容
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"default": {
"()": "uvicorn.logging.DefaultFormatter",
"fmt": "%(asctime)s.%(msecs)03d | %(levelname)s | %(message)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
},
"w3c": {
"()": "uvicorn.logging.AccessFormatter",
"fmt": "%(asctime)s.%(msecs)03d | %(levelname)s | %(client_addr)s - %(request_line)s - %(status_code)s",
"datefmt": "%Y-%m-%d %H:%M:%S"
}
},
"handlers": {
"default": {
"formatter": "default",
"class": "logging.StreamHandler",
"stream": "ext://sys.stderr"
},
"w3c": {
"formatter": "w3c",
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout"
}
},
"loggers": {
"uvicorn": {"handlers": ["default"], "level": "INFO"},
"uvicorn.error": {"level": "INFO"},
"uvicorn.access": {"handlers": ["w3c"], "level": "INFO", "propagate": false}
}
}
参考文献
本文出自 qbit snap
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。