【发布时间】:2014-04-17 14:36:08
【问题描述】:
我想将用户电子邮件添加到所有网络应用日志。
我可以将电子邮件(取自 cookie 等)存储在 threading.local() 中。但我不能总是确定变量是否存在于线程局部变量中。
有没有办法让我的应用程序中的所有记录器都这样做?
【问题讨论】:
标签: python django logging thread-local-storage
我想将用户电子邮件添加到所有网络应用日志。
我可以将电子邮件(取自 cookie 等)存储在 threading.local() 中。但我不能总是确定变量是否存在于线程局部变量中。
有没有办法让我的应用程序中的所有记录器都这样做?
【问题讨论】:
标签: python django logging thread-local-storage
您可以创建一个 logging.Filter() 对象来获取线程局部变量(或不存在时的合适默认值)并将其添加到日志记录中。将该过滤器附加到根记录器,它将在所有日志记录传递给处理程序之前被调用。一旦变量出现在日志记录中,它就可以在用于显示/保存信息的格式化程序中使用。
【讨论】: