本文整理汇总了Python中raven.base.Client.captureException方法的典型用法代码示例。如果您正苦于以下问题:Python Client.captureException方法的具体用法?Python Client.captureException怎么用?Python Client.captureException使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类raven.base.Client
的用法示例。
在下文中一共展示了Client.captureException方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SentryReporter
# 需要导入模块: from raven.base import Client [as 别名]
# 或者: from raven.base.Client import captureException [as 别名]
class SentryReporter(object):
def __init__(self, sentry_dsn, **unused):
if Client is None:
raise RavenNotAvailable('Raven is not installed, maybe run "pip install raven"')
self.client = Client(sentry_dsn)
def report(self, traceback):
environ = traceback.context.get('environ', {})
data = {
'sentry.interfaces.Http': {
'method': environ.get('REQUEST_METHOD'),
'url': get_current_url(environ, strip_querystring=True),
'query_string': environ.get('QUERY_STRING'),
# TODO
# 'data': environ.get('wsgi.input'),
'headers': dict(get_headers(environ)),
'env': dict(get_environ(environ)),
}
}
is_backlash_event = getattr(traceback.exc_value, 'backlash_event', False)
if is_backlash_event:
# Just a Stack Dump request from backlash
self.client.captureMessage(traceback.exception, data=data,
stack=traceback.frames)
else:
# This is a real crash
self.client.captureException(data=data)
示例2: run
# 需要导入模块: from raven.base import Client [as 别名]
# 或者: from raven.base.Client import captureException [as 别名]
def run(self):
in_heroku = 'SENTRY_DSN' in os.environ
if in_heroku:
client = Client(dsn=os.environ['SENTRY_DSN'])
while True:
try:
logger.info("Worker awaiting data from %s" % self.queue)
message = self.get_next_message()
logger.info("Worker received a message %s from %s" % (message[0], self.queue))
depickled = pickle.loads(message[1])
logger.info("Depickled data: %s" % depickled)
self.send_to_workers(depickled)
except Exception:
if in_heroku:
client.captureException()
raise