【问题标题】:django.setup method messes with loggingdjango.setup 方法与日志记录混淆
【发布时间】:2016-06-30 14:49:55
【问题描述】:

我正在 django 中编写一个独立的脚本文件,它将从命令行运行。这不是 django 中的管理命令。但我仍然需要导入 django 模型

如果我愿意

django.setup()

然后

logging.info("message")

在终端上而不是在指定的文件上进行日志记录。

如果我删除 django.setup() 日志记录工作正常。

为什么会发生这种情况,是否有解决方法。

注意:Django 版本为 1.8.6

【问题讨论】:

    标签: python django error-logging


    【解决方案1】:

    虽然 django.setup() 是问题所在。向日志记录类添加文件处理程序已解决问题

    如何,

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'jade.settings')
    import django
    django.setup()
    
    fh = logging.FileHandler('/home/jadeuser/workspace/jade/src/script/event_load.log')
    logger1 = logging.getLogger('event_load.addcard')
    logger1.addHandler(fh)
    logger1.setLevel(logging.INFO)
    
    logger1.info("this will be written to a file irrespective of having django.setup().")
    

    希望这对未来的任何人都有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多