使用djangos`manage.py shell`时禁用Sentry报告

问题描述 投票:3回答:2

我正在使用哨兵报告我的django应用程序中发生的错误。

有没有办法在使用像这样的命令时禁用哨兵错误报告

python manage.py shell

python django sentry
2个回答
4
投票

要忽略Sentry中的部分或全部类型的异常,您可以在ignore_exceptions文件中为RAVEN_CONFIG使用settings.py选项。 ignore_exceptions接受一个异常类或字符串路径列表。您可以在这里阅读更多关于忽略Sentry文档中的异常的信息:https://docs.sentry.io/clients/python/advanced/

要忽略所有异常,您可以将['*']传递给ignore_exceptions,但是只有在使用上述命令启动django进程时才能执行此操作,这可以从sys.argv中获知。因此,您可以通过在django settings.py文件中添加以下代码来实现您期望的结果:

import sys
SHOULD_IGNORE_EXCEPTIONS = " ".join(sys.argv).endswith("run python manage.py shell")

RAVEN_CONFIG = {
    'dsn': '...',
    'ignore_exceptions': ['*'] if SHOULD_IGNORE_EXCEPTIONS else [],
}

2
投票

有一个无证但但绝对稳定的设置:

RAVEN_CONFIG = {
    'install_sys_hook': False
}
© www.soinside.com 2019 - 2024. All rights reserved.