发布于 2015-09-01 14:06:56 | 265 次阅读 | 评论: 0 | 来源: PHPERZ
Flask-Exceptional 为 Flask 添加了 Exceptional 支持。Exceptional 会捕获到你的应用程序中的错误,实时地报告它们,并且会收集你需要快速地修复它们的一些信息。访问 http://www.exceptional.io 去试试。
接下来的文档是假设你拥有一个 Exceptional 账号。用 pip 安装这个扩展是简单的:
$ pip install Flask-Exceptional
或者用 easy_install 安装它:
$ easy_install Flask-Exceptional
在安装 Flask-Exceptional 后,所有你必须要做的就是创建一个 Flask 应用程序,配置 Exceptional API 密钥,接着创建 Exceptional 对象。正是这样的简单:
from flask import Flask
from flask.ext.exceptional import Exceptional
app = Flask(__name__)
app.config["EXCEPTIONAL_API_KEY"] = "exceptional_forty_character_unique_key"
exceptional = Exceptional(app)
你的应用程序是被配置成基于云的错误监控!你可以通过调用 Exceptional.test() 方法来验证配置是否正常工作:
Exceptional.test(app.config)
请翻阅接下来的章节获取更多关于 Flask-Exceptional 可用的配置项的细节。
Flask-Exceptional 中存在如下的配置项:
EXCEPTIONAL_API_KEY |
你的应用程序的Exceptional API 密钥。 登录到 Exceptional,选择你的应用程序, 点击 APP SETTINGS 链接。显示的 API 密钥就是这里要用到的。 试图不提供 API 密钥而创建扩展将导致 登录警告,但应用程序将继续正常运行。 |
EXCEPTIONAL_DEBUG_URL | 如果你的应用程序以调式模式运行的话, Exceptional 将不会捕获错误。配置这个值 是为了在调试模式中捕获错误数据。 比如,你可能使用一个 RequestBin 网址 调试你的应用程序。JSON 错误数据会被以压缩形式 POSTed 到这个网址, 而 Exceptional 需要解压这些数据。 |
EXCEPTIONAL_HTTP_CODES |
用 Exceptional 追踪的 HTTP 错误码列表。 默认为标准的 HTTP 4xx 错误码。 |
EXCEPTIONAL_PARAMETER_FILTER |
列表值,用来过滤发给 Exceptional 的参数数据。 参数数据包括 request.form 和 request.files 中的所有。 例如,为了过滤密码你可以使用: ['password', 'password_confirm'] |
EXCEPTIONAL_ENVIRONMENT_FILTER |
列表值,用来过滤发给 Exceptional 的环境数据。 环境数据包含 Flask 应用程序配置以及目前 OS 环境。OS 环境值前缀是 'os.'。 例如,为了过滤SQLAlchemy 数据库 URL以及 所有的 OS 环境值,使用: ['SQLALCHEMY_DATABASE_URI', 'os.*'] 默认值是 ['SECRET_KEY']。 |
EXCEPTIONAL_SESSION_FILTER | 列表值,用来过滤发给 Exceptional 的会话数据。 |
EXCEPTIONAL_HEADER_FILTER | 列表值,用来过滤发给 Exceptional 的 HTTP 头数据。 |
EXCEPTIONAL_COOKIE_FILTER | 名称的列表,用来过滤发给 Exceptional 的 HTTP Cookie 头数据。 |
Note
所有配置中的过滤列表接受字符串以及正则表达式。
Extension for tracking application errors with Exceptional. Errors are not tracked if DEBUG is True. The application will log a warning if no EXCEPTIONAL_API_KEY has been configured.
Parameters: | app – Default None. The Flask application to track errors for. If the app is not provided on creation, then it can be provided later via init_app(). |
---|
Add extra context data to the current tracked exception. The context data is only valid for the current request. Multiple calls to this method will update any existing context with new data.
Parameters: |
|
---|
Initialize this Exceptional extension.
Parameters: | app – The Flask application to track errors for. |
---|
Publish the given traceback directly to Exceptional. This method is useful for tracking errors that occur outside the context of a Flask request. For example, this may be called from an asynchronous queue.
Parameters: |
|
---|
Test the given Flask configuration. If configured correctly, an error will be tracked by Exceptional for your app. Unlike the initialized extension, this test will post data to Exceptional, regardless of the configured DEBUG setting.
Parameters: | config – The Flask application configuration object to test. Accepts either flask.Config or the object types allowed by flask.Config.from_object(). |
---|