问题描述
|
我正在使用简单的记录器将调试信息保存到文件中。
我的问题是我希望日志中的每一行都以请求信息作为前缀(例如,用户,URL),并且视图激活的内部函数无法访问请求参数。
我想过
将请求传递给每个功能-非常糟糕
爬回回溯堆栈,在局部变量中搜索\“ request \”-不知道如何执行此操作,或者不确定它是否太慢(例如,每个请求最多记录100次)
用\“ with \”语句包围视图函数,该语句将所有请求信息保留在全局变量(键=线程ID)中-不建议作为安全风险(http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser)并要求缩进视图中的整个代码
有一个优雅的解决方案吗?
解决方法
我相信您想使用将请求属性添加到日志消息的过滤器。这个软件包似乎解决了这个问题:http://pypi.python.org/pypi/django-requestlogging
,这可能不完全是您想要的,但是django-sentry提供了您描述的功能(还具有漂亮的Web界面)。这可能比尝试推出自己的解决方案要容易。