Fastapi使用uvicorn 输出日志重复问题

  • Post author:
  • Post category:其他


如何解决 Fastapi使用uvicorn 输出日志重复 问题如图:

会发现输出的日志有重复。

解决方案:在  uvicorn.run 运行配置里配置 log_config 并且

loggers 只 配置 “”

项 设置null处理。也就是root日志 null处理。

如下:

custom_logging_config = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "default": {
            "()": "uvicorn.logging.DefaultFormatter",
            "fmt": "%(asctime)s %(levelprefix)s %(message)s",
            'datefmt': '%Y-%m-%d %H:%M:%S',
            "use_colors": None,
        },
    },
    "handlers": {
        "default": {
            "formatter": "default",
            "class": "logging.StreamHandler",
            "stream": "ext://sys.stderr",
        },
        'null': {
            "formatter": "default",
            "class": 'logging.NullHandler'
        }
    },
    "loggers": {
        "": {"handlers": ["null"], "level": "DEBUG"},
        "uvicorn.error": {"handlers": ["default"], "level": "DEBUG"}
    },
}

uvicorn.run("project.app:app",
             host=xxx,
             port=xxx,
             reload=xxx,
             workers=xxx,
             debug=xxx,
             log_config=custom_logging_config
             )

运行结果:



版权声明:本文为Youxi_GA原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。