在内部函数(Django)中将请求信息记录到文件

在内部函数(Django)中将请求信息记录到文件,django,logging,Django,Logging,我使用简单的记录器将调试信息保存到文件中。 我的问题是,我希望日志中的每一行都以请求信息(例如用户、url)作为前缀,而视图激活的内部函数无权访问请求参数 我想到 将请求传递给每个函数-非常糟糕 爬升回溯堆栈,在局部变量中搜索“请求”-不确定如何执行,或者速度是否太慢(例如,每个请求最多记录100次) 使用“with”语句包围视图函数,该语句将所有请求信息保存在一个全局变量(key=threadid)中-不建议将其作为安全风险(http://code.djangoproject.com/wiki

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

我想到

  • 将请求传递给每个函数-非常糟糕
  • 爬升回溯堆栈,在局部变量中搜索“请求”-不确定如何执行,或者速度是否太慢(例如,每个请求最多记录100次)
  • 使用“with”语句包围视图函数,该语句将所有请求信息保存在一个全局变量(key=threadid)中-不建议将其作为安全风险(http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser)并且需要在视图中缩进整个代码

  • 有优雅的解决方案吗?

    这可能不是您想要的,但它提供了您描述的功能(还有一个漂亮的web界面)。这可能比尝试推出您自己的解决方案更容易。

    这可能不是您想要的,但它提供了您描述的功能(还具有漂亮的web界面)。这可能比尝试推出自己的解决方案更容易。

    我相信您希望使用一个过滤器,将请求属性添加到日志消息中。这个包似乎解决了这个问题:

    我相信您希望使用一个过滤器,将请求属性添加到日志消息中。该方案似乎解决了以下问题: