小智 7
通过乌鸦来源阅读我看到如果你想忽略某些例外,你可以将它们添加到IGNORE_EXCEPTIONS
这样:
RAVEN_CONFIG = {
'dsn': '...',
'IGNORE_EXCEPTIONS': ['exceptions.ZeroDivisionError', 'some.other.module.CustomException'],
...
}
Run Code Online (Sandbox Code Playgroud)
至于排除某些模块/文件,最好的方法可能是编写自己的客户端并决定是否向哨兵发送消息.它认为你应该覆盖该send
方法,因为它具有更易于访问的形式的所有数据.
你可以这样做:
from raven.contrib.django.client import DjangoClient
class MyClient(DjangoClient):
def send(self, **kwargs):
'''
check if culprit (event name) should be skipped
'''
if kwargs.get('culprit', '').startswith('my.module.to.skip'):
self.logger.info('Skipping entry')
else:
return super(MyClient, self).send(**kwargs)
Run Code Online (Sandbox Code Playgroud)
然后将您的自定义客户端设置为settings.py
:
SENTRY_CLIENT = 'path.to.module.MyClient'
Run Code Online (Sandbox Code Playgroud)
如果你想要实现更复杂的忽略规则,你可能应该检查你可以用给定数据做什么(kwargs).
归档时间: |
|
查看次数: |
2438 次 |
最近记录: |