【发布时间】:2011-07-16 21:41:07
【问题描述】:
使用 Django,我需要执行一些涉及数据库写入的每个请求的日志记录。
我了解 Django 的 process_request() 和 process_response() 中间件挂钩,但据我所知,这些挂钩位于呈现网页响应的关键路径(按设计)。
我不希望我的请求后数据库写入操作耽误页面的响应时间。
是否有一个简单的 Django 设计模式可以让我进行“惰性日志写入”,我可以在其中使用请求挂钩在请求处理期间收集信息,但不会发生任何后续操作和实际的日志写入操作直到将响应写入用户之后?
我目前正在使用 WSGI,但希望尽可能使用最通用的解决方案。
【问题讨论】:
-
另一种方法是使用 logging.Handler 来缓冲写入。也许给它一个flush(),这样你就可以告诉它何时写入“真正的”处理程序。
标签: django