uvicorn 启动参数

https://wenku.baidu.com/view/9b9b88b5350cba1aa8114431b90d6c85ed3a881a.html?_wkts_=1683372789291&bdQuery=uvicorn+log_level
官方说明
http://www.uvicorn.org/settings/#logging

#启动方式
uvicorn.run(...,access_log=True,log_config="log_config.json" ,log_level=logging.INFO)
#log_level=info,debug,warning,error

自定义日志配置,格式化日志

{
    "version": 1,
    "disable_existing_loggers": false,
    "formatters": {
        "default": {
            "()": "uvicorn.logging.DefaultFormatter",
            "fmt": "%(levelname)s %(asctime)s  %(message)s",
            "use_colors": null
        },
        "access": {
            "()": "uvicorn.logging.AccessFormatter",
            "fmt": "%(levelname)s %(asctime)s %(client_addr)s - \"%(request_line)s\" %(status_code)s"
        }
    },
    "handlers": {
        "default": {
            "formatter": "default",
            "class": "logging.StreamHandler",
            "stream": "ext://sys.stderr"
        },
         "access": {
            "formatter": "access",
            "class": "logging.StreamHandler",
            "stream": "ext://sys.stderr"
        }
    },
    "loggers": {
        "uvicorn": {"handlers": ["default"], "level": "ERROR", "propagate": false},
        "uvicorn.error": {"level": "INFO"},
        "uvicorn.access": {"handlers": ["access"], "level": "INFO", "propagate": false}
    }
}

Python - logging.Formatter 的常用格式字符串

日志参数说明
https://www.cnblogs.com/poloyy/p/15549265.html

%(name)s    日志记录器的名称(记录通道)
%(levelno)s    
日志记录级别的数字
DEBUG=10、INFO=20、WARNING=30、ERROR=40、CRITICAL=50
%(levelname)s    
日志记录级别的文本
“DEBUG”、“INFO”、“WARNING”、“ERROR”、“CRITICAL”
%(pathname)s    日志调用的源文件的完整路径名
%(filename)s    日志调用的源文件的文件名部分
%(module)s    日志调用的源文件的文件名的名称部分
%(lineno)d    日志调用的源行号
%(funcName)s    日志调用的函数名
%(created)f    
打印日志的时间
time.time() 的返回值
%(asctime)s    
打印日志的时间
datetime.datetime.now() 的返回值
%(msecs)d    打印日志的毫秒部分
%(relativeCreated)d    
打印日志的时间,毫秒为单位
是相对于加载 logging 模块的时间(通常在应用程序启动时)
%(thread)d    线程ID
%(threadName)s    线程名,一般是主线程 MainThread
%(process)d    进程ID
%(message)s    日志信息

常用格式化字符串

 LOGGING_CONFIG["formatters"]["access"]["fmt"] = '%(levelname)s %(asctime)s  %(client_addr)s - "%(request_line)s" %(status_code)s'


LOGGING_CONFIG["formatters"]["default"]["fmt"] = "%(levelname)s %(asctime)s  %(message)s"
%(name)s
%(levelprefix)s
%(levelname)s