首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让raven向Sentry报告Django runscript异常?

如何让raven向Sentry报告Django runscript异常?
EN

Stack Overflow用户
提问于 2015-05-27 00:59:42
回答 2查看 279关注 0票数 0

我的Django web应用通过raven将异常记录到Sentry。我还将一些脚本(通过manage.py runscript)作为cron作业运行。目前,这些脚本中的任何异常都不会报告给Sentry。我如何设置这样的报告?

EN

回答 2

Stack Overflow用户

发布于 2015-05-30 15:53:56

从raven-python的5.3.1版本开始,它应该可以正确地修补Django的BaseCommand.execute,它将有效地处理这些命令中的错误(除非从未进行过父调用)。

票数 1
EN

Stack Overflow用户

发布于 2016-04-08 04:01:22

对于那些在外面的人来说:

对于django管理命令,

  1. 仍然存在无法正确修补自身的问题,

raven raven==5.12.0

我找到了一个对我有效的修复方法。

问题似乎是,在Django调用BaseCommand.execute时,raven并没有修补它。因此,为了解决这个问题,我确保立即为BaseCommand.execute打补丁。我已经更新了我的manage.py文件,使其包含以下行:

代码语言:javascript
复制
from raven.contrib.django.management import patch_cli_runner
patch_cli_runner()

我的最终manage.py文件如下所示:

代码语言:javascript
复制
#!/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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30464681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档