Errbit 客户端
项目描述
errbit错误报告客户端。
安装
pip install errbit_reporter
使用
import errbit_reporter as errbit
config = errbit.Configuration(
api_key='491b8cbb777b051df1406ae0bcdbee2c',
errbit_url='http://errbit.yourserver.com')
client = errbit.Client(config)
with client.notify_on_exception():
your_code_here()
为了避免在开发过程中发送异常,只需为errbit_url使用None。例如
config = errbit.Configuration(
api_key='491b8cbb777b051df1406ae0bcdbee2c',
errbit_url=None,
environment_name='development')
可以为错误提供额外的上下文。例如
context = {
'request_url': 'http://example.com/account/signup',
'component': 'AccountController',
'action': 'signup',
'params': {
'user': {
'name': 'dylan'
}
},
'cgi_data': {
'REQUEST_METHOD': 'POST',
'HTTP_USER_AGENT': 'curl'
},
'session' {
'session_id': '6df95c0296cee016fb672af9310667e24dca066909a723dd6439369bb82911f3'
}
}
with client.notify_on_exception(**context):
your_code_here()
也可以在没有上下文管理器的情况下发送通知以获取通知元数据,该元数据可用于记录errbit通知URL。
try:
your_code_here()
except:
notice_metadata = client.notify()
print(notice_metadata.url)
默认情况下,异常信息从sys.exc_info()获取,但也可以将exc_info作为第一个参数传递,并使用与notify_on_exception相同的键值参数提供额外的上下文。
在分布式系统(例如Spark)中,手动指定回溯很有用。例如,回溯可以由本地和远程进程的堆栈跟踪组成,即使远程进程是用另一种语言编写的。
exc_type, exc_value, exc_traceback = sys.exc_info()
backtrace = traceback.extract_tb(exc_traceback)
notice = errbit.Notice(config, exc_type.__name__, str(exc_value), backtrace)
client.send_notice(notice)
测试套件
make test
版权
版权(c)2014“Shopify Inc.”。有关详细信息,请参阅LICENSE。
项目详情
关闭
errbit-reporter-0.0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a7cb73063fc52a99902f03f3ecec206146f5883b303656ed2bd6d4c5f8eef9ff |
|
MD5 | c49efede7ba84721130408e2559eaf1e |
|
BLAKE2b-256 | 8b015c4806c44106a08628d2b9f85c65d1c370a233fdb326d098fc6ef1619b71 |