我希望在aiohttp服务器的访问日志中记录请求的其他属性 . 例如,我有中间件,为每个请求添加了 user
属性,我想将此值存储在 extra
属性中以获取访问日志记录 . 文档suggests覆盖 aiohttp.helpers.AccessLogger
这确实是一个好的开始,但接下来我该怎么做,我在哪里放置自定义 Logger 的实例?我查看了代码,看起来这在应用程序创建阶段是不可能的,而是在应用程序运行时 . 但是我在几个地方修改启动并不方便(例如本地我使用 aiohttp-devtools runserver
和gunicorn进行部署) .
那么这里应该采用什么方法呢? (我也想对错误日志做同样的事情,但这看起来更复杂,所以现在我只是使用另一个中间件来捕获错误并创建我需要的日志记录) .
1 回答
考虑到开发日志配置通常与 生产环境 非常不同,为
gunicorn
和aiohttp-devtools
保持两种不同的方法是完全正确的 .对于dev服务器,您可能需要在控制台上记录所有内容,登台和 生产环境 写入日志的方式不同 .