【问题标题】:logging request info to file, in inner functions (Django)在内部函数(Django)中将请求信息记录到文件中
【发布时间】:2011-05-01 15:15:26
【问题描述】:

我正在使用简单的记录器将调试信息保存到文件中。 我的问题是我希望日志中的每一行都以请求信息为前缀(例如用户、url),并且视图激活的内部函数无权访问请求参数。

我想过

  1. 将请求向下传递给每个函数 - 非常糟糕
  2. 爬上回溯堆栈,在局部变量中搜索“请求” - 不知道如何执行此操作,或者它是否会太慢(例如,每个请求最多记录约 100 次)
  3. 用“with”语句包围视图函数,它将所有请求信息保存在一个全局变量中(key=thread id)——不推荐作为安全风险(http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser ) 并且需要在视图中缩进整个代码

有没有优雅的解决方案?

【问题讨论】:

    标签: django logging


    【解决方案1】:

    我相信您想使用过滤器将请求属性添加到您的日志消息中。这个包似乎解决了这个问题:http://pypi.python.org/pypi/django-requestlogging

    【讨论】:

      【解决方案2】:

      这可能不是您正在寻找的,但django-sentry 提供了您所描述的功能(还有一个不错的网络界面)。这可能比尝试推出自己的解决方案更容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-11
        • 2018-08-02
        • 2011-02-09
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多