当 Gunicorn 作为 Uvicorn 的进程管理器 运行时,访问日志、异常等默认情况下不会显示在 Gunicorn 日志中。
我在几个地方找到的解决方案建议以下变化:
gunicorn_error_logger = logging.getLogger("gunicorn.error")
uvicorn_access_logger = logging.getLogger("uvicorn.access")
uvicorn_access_logger.handlers = gunicorn_error_logger.handlers
基本上为 Uvicorn 访问记录器重用 Gunicorn 错误记录器的处理程序。这导致 Uvicorn 访问日志被打印到控制台,但感觉有点不对,因为:
我在这里缺少什么吗?有更好的方法吗?
• Gunicorn - ValueError:不支持非阻塞套接字
• OpenLiberty - 如何将应用程序日志与服务器日志分开并设置正确的日志级别
• 使用Django (+DB)、Gunicorn、Socketio,无法多线程访问Django数据库
• 为什么使用记录器将数据集预览信息上传到 ClearML 服务器(Web UI)不起作用?
• FastAPI + Uvicorn + 多线程。如何让 Web 应用程序并行处理多个请求?
• 如何使用 Azure Functions v4 正确设置 Serilog?
• FastAPI 本地服务器:每个请求都使用不同的端口 -> port in use error
• DOM 返回具有 1 个元素但无法访问的 NodeList?
• 当与 reactJS 一起使用时,Modal 附加到底部而不是显示为覆盖(Calendly)
• Websocket 连接在生产环境中失败。 (Nginx、Gunicorn、Daphne)(Django/React)