跳转到主要内容

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

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

errbit-reporter-0.0.3.tar.gz (5.7 kB 查看哈希值)

上传时间

由...

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面