Django:进程是从控制台还是从HTTPRequest开始的?

时间:2014-07-17 09:38:46

标签: python django logging

如果代码已从控制台应用程序执行(如manage.py <cmd>),则需要启用日志记录,如果正在处理HTTPRequest,则需要禁用日志记录。可能过滤器在这里非常有用。

LOGGING = {
...
    'filters': {
        'require_debug_false': {
           '()': 'IsFromHTTPRequest'
        }
    },
...
}

但是,定义命令是否已执行或正在处理HTTPRequest的最佳方法是什么?回溯分析?

1 个答案:

答案 0 :(得分:1)

嗯,没有好办法。但是,当我们需要将manage.py jenkins与常规http请求区分开来时,我们会采取以下措施:

添加到settings.py

import sys
JENKINS = "jenkins" in sys.argv

然后您可以随时使用该变量。也在日志过滤器中。