错误位客户端

errbit-reporter的Python项目详细描述


向errbit报告异常的客户端。

安装

pip install errbit_reporter

用法

importerrbit_reporteraserrbitconfig=errbit.Configuration(api_key='491b8cbb777b051df1406ae0bcdbee2c',errbit_url='http://errbit.yourserver.com')client=errbit.Client(config)withclient.notify_on_exception():your_code_here()

为了避免在开发过程中发送异常,只需使用none 对于errbit_url。例如:

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'}}withclient.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也可以作为第一个参数传递,并且 上下文可以使用与 异常时通知。

在分布式系统中(例如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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
内存Java正在运行。jar heapdump错误   java如何在安卓画布中弯曲文本区域?   java如何在Gdx 安卓游戏编程中获得矩形的真实触碰位置?   找不到java Spring MVC控制器   在Java中使用双重检查锁定单例扩展类   java在高效的时间和内存中动态执行insert(索引、数据)、delete(索引)、getAt(索引)操作。   java 安卓 Toast和视图帮助   java协议缓冲区:从文件中读取所有序列化消息   java如何在Jackson中为参数化接口类型执行通用自定义反序列化程序   与简单的空检查相比,使用(平面)映射的java优势是什么?   异步方法seam中的java Get contextparam   jar使用相同的java运行时运行另一个java程序   java访问Spring批处理中的作业参数   java给定字符串为空或null   在h2数据库1.4中找不到java类“org.h2.fulltext.FullTextLucene”。*不适用于Lucene Core 4*   java Spring Boot在使用@enableSync时不响应任何请求   java错误:在bash上找不到或加载主类pj2   “返回对象”和“返回(对象)”之间的Java差异   java Android开发:如何使用onKeyUp?