1

我在调试通过同一段代码的多个请求时遇到问题,因此需要上下文信息。并使用这个stackoverflow的答案 Django logging with user/ip

使用唯一的 request_id 记录每个请求,能够轻松查看每个请求流。但问题是当group_senddjango 内部有使用async_to_sync.

  1. 由于代码在不同的线程上运行,线程本地存储在这种情况下将不起作用,有没有可能将线程本地存储传播到子线程的方法?

  2. 我还在文档中发现async_to_sync“Threadlocals 和 contextvars 值在两个方向上都保留在边界上。”。这是否意味着线程局部变量以某种方式共享?如果是这样,为什么记录器无法获取该线程局部变量?

  3. 无论如何要正确记录 django 视图,包含所有请求信息的频道,而不必在每条日志消息上提供额外信息?

谢谢!

async_to_sync行的链接:https ://docs.djangoproject.com/en/3.0/topics/async/

4

0 回答 0