【问题标题】: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().")
希望这对未来的任何人都有帮助。