跳转到主要内容

airbrake.io的Python集成

项目描述

Airbrake python notifier集成

基于Airbrake python notifier构建的集成,用于与流行的框架和库快速集成。

简介

Airbrake 是一个在线工具,它为您的任何Python应用程序提供强大的异常跟踪。通过这种方式,它允许您轻松地审查错误,将错误与单个代码片段相关联,并追踪到最近的变化。Airbrake仪表板提供简单的分类、搜索和优先级排序,以便在发生错误时,您的团队能够快速确定根本原因。

主要功能

此库建立在 Airbrake Python 之上。Airbrake Python 和 Airbrake Python Integrations 之间的区别在于,airbrake-integrations 包仅是一个与框架或其他库集成的集合。airbrake 包是执行异常发送和其他繁重任务的内核库。

通常情况下,您只需依赖此包,选择您感兴趣的集成,并按照其说明操作。如果您使用的框架或应用程序没有可用的集成,您可以使用 airbrake 包,并完全忽略此包。

此包中可用的集成列表包括

  • Django
  • Flask
  • Twisted

安装

要安装 airbrake-integrations,请运行

pip install airbrake-integrations

强烈建议您将此包添加到您的 requirements.txt 文件中

pip freeze > requirements.txt

配置

Django

要安装中间件并在视图中捕获异常

  • 请将以下内容添加到您的 settings.py 文件中;将值替换为您的项目 ID 和密钥
AIRBAKE = {
    "PROJECT_ID": 123,
    "API_KEY": "123abcde",
    "ENVIRONMENT": "test"
}
  • 将中间件添加到您的 settings.py 文件中;确保 airbrake 中间件位于列表顶部。Django 从列表的末尾开始按顺序处理中间件,因此将其放置在末尾将捕获所有异常。
MIDDLEWARE = [
    'airbrake_integrations.django.middleware.AirbrakeNotifierMiddleware',
    ...
]

请注意,任何捕获异常且不允许它们流动的中间件都不会被发送到 airbrake。确保任何也处理异常的中间件都会抛出原始异常非常重要。

def process_exception(self, request, exception):
    raise exception

一个示例 Django 应用可以在 /examples/django 中找到

Flask

要捕获异常,请使用 Airbrake 扩展

确保 airbrake 配置字段已设置

AIRBRAKE_PROJECT_ID = 123456
AIRBRAKE_API_KEY = '1290180gsdf8snfaslfa0'
AIRBRAKE_ENVIRONMENT = "production"

然后安装扩展!

from airbrake_integrations.flask.app import AirbrakeApp

app = Flask(__name__)
app.config.from_pyfile('config.cfg')
ab = AirbrakeApp(app)

一个示例 Flask 应用可以在 /examples/flask 中找到

要运行示例

export FLASK_APP=example.py
flask run

Twisted

from airbrake_integrations.twisted.observer import AirbrakeLogObserver
from twisted.logger import globalLogBeginner, Logger

settings = {
    "AIRBRAKE": {
        "PROJECT_ID": 1234,
        "API_KEY": "1234567890asdfghjkl"
    }
}

observers = [AirbrakeLogObserver(settings)]

globalLogBeginner.beginLoggingTo(observers, redirectStandardIO=False)

log = Logger()
try:
    raise Exception("A gremlin in the system is angry")
except:
    log.failure("Error")

这创建了一个观察者,它会查看 globalLogPublisher Twisted 对象,并检查所有事件以查找任何可能的异常。

一个示例 Flask 应用可以在 /examples/twisted 中找到

项目详情


下载文件

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

源分发

airbrake-integrations-0.1.5.tar.gz (8.8 kB 查看哈希)

上传时间

支持者