使用 djangos `manage.py shell` 时禁用哨兵报告
Disable Sentry reporting when using djangos `manage.py shell`
我正在使用 sentry 报告我的 django 应用程序中发生的错误。
有没有办法在使用像
这样的命令时禁用哨兵错误报告
python manage.py shell
要忽略 Sentry 中的某些或所有类型的异常,您可以使用
settings.py
文件中 RAVEN_CONFIG
的 ignore_exceptions
选项。
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 [],
}
有一个未记录但绝对稳定的设置:
RAVEN_CONFIG = {
'install_sys_hook': False
}
我正在使用 sentry 报告我的 django 应用程序中发生的错误。
有没有办法在使用像
这样的命令时禁用哨兵错误报告python manage.py shell
要忽略 Sentry 中的某些或所有类型的异常,您可以使用
settings.py
文件中 RAVEN_CONFIG
的 ignore_exceptions
选项。
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 [],
}
有一个未记录但绝对稳定的设置:
RAVEN_CONFIG = {
'install_sys_hook': False
}