[Django] 日志踩坑记

2022-05-12  本文已影响0人  alue

Django官方推荐的日志就是python自带的 logger 模块。

python 官方文档指出:

Although logging is thread-safe, and logging to a single file from multiple threads in a single process is supported, logging to a single file from multiple processes is not supported.

可见,python自带的日志模块不支持多进程。也就是说,多个进程同时处理同一个文件,会出问题。

问题来了,Django服务是多进程吗?

这需要看 web 服务器的配置。windows下常用IIS作为web服务器, 它来决定需要开多少个Django进程来处理请求。

所以,在Django中使用不支持进程安全的功能时,要特别注意。例如,可以在日志文件名称中,增加进程ID标志符,来保证每个文件只被一个进程操作,这样来避免并发带来的问题。

IIS应用池
上一篇下一篇

猜你喜欢

热点阅读