【问题标题】:Django: Is process started from console or from a HTTPRequest?Django:进程是从控制台还是从 HTTPRequest 启动的?
【发布时间】:2014-07-17 09:38:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: python django logging


    【解决方案1】:

    好吧,没有什么好办法。但是,当我们需要将manage.py jenkins 与常规 http 请求区分开来时,我们会这样做:

    添加到 settings.py

    import sys
    JENKINS = "jenkins" in sys.argv
    

    然后,您可以在需要时使用该变量。在日志过滤器中也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多