我的Django web应用通过raven将异常记录到Sentry。我还将一些脚本(通过manage.py runscript)作为cron作业运行。目前,这些脚本中的任何异常都不会报告给Sentry。我如何设置这样的报告?
发布于 2015-05-30 15:53:56
从raven-python的5.3.1版本开始,它应该可以正确地修补Django的BaseCommand.execute,它将有效地处理这些命令中的错误(除非从未进行过父调用)。
发布于 2016-04-08 04:01:22
对于那些在外面的人来说:
对于django管理命令,
raven raven==5.12.0
我找到了一个对我有效的修复方法。
问题似乎是,在Django调用BaseCommand.execute时,raven并没有修补它。因此,为了解决这个问题,我确保立即为BaseCommand.execute打补丁。我已经更新了我的manage.py文件,使其包含以下行:
from raven.contrib.django.management import patch_cli_runner
patch_cli_runner()我的最终manage.py文件如下所示:
#!/usr/bin/env python
from os.path import abspath
from os.path import dirname
import os
import sys
if __name__ == "__main__":
# add the ../ directory to the os path, so that we can find
# app.settings below
sys.path.insert(0, os.path.abspath(os.path.join(dirname(abspath(__file__)), '..')))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")
from django.core.management import execute_from_command_line
from raven.contrib.django.management import patch_cli_runner
patch_cli_runner()
execute_from_command_line(sys.argv)https://stackoverflow.com/questions/30464681
复制相似问题