跳转到主要内容

将raven和raven-js集成到Pyramid网络应用程序中。

项目描述

pyramid_ravenraven python客户端raven-js 集成到 Pyramid 网络应用程序中。它提供了一个配置好的 raven客户端request.raven 和一个名为 raven-jspyramid_layout 面板。

Raven 通过粘贴过滤器和管理员处理程序内置了对Pyramid应用程序的支持。 pyramid_raven 是另一种集成方式,当您在应用程序内部处理异常时非常有用

  1. 您在应用程序内部处理异常 - 即:您注册了一个捕获所有 Exception 视图,在您的应用程序中渲染一个错误页面,从而防止错误到达WSGI管道

  2. 您还希望记录JavaScript错误

设置

使用 pip 进行安装

pip install pyramid_raven

在应用程序的 INI 配置中配置 Raven DSN 地址

raven.dsn = https://xxx:yyy@sentry.example.com/1

… 或提供 SENTRY_DSN 环境变量

SENTRY_DSN=http://public:secret@example.com/1

配置应用程序 以包含该软件包

config.include('pyramid_raven')

配置

您应用程序的 .ini 配置文件中的任何 raven.* 命名空间设置都将传递给 raven 客户端 构造函数 - 尽管将这些设置强制转换为正确类型是您的责任,例如

raven.timeout=3

您可以通过向其中添加空格分隔的请求属性或方法名称(不带参数调用)来扩展与已记录的服务器端异常一起发送的(已经相当全面的)请求属性集

pyramid_raven.additional_request_properties=foo bar
pyramid_raven.additional_request_methods=baz bam

您还可以覆盖面板模板

pyramid_raven.panel_tmpl=mypkg:templates/foo.tmpl

使用

您可以使用它来记录服务器端错误

@view_config(context=Exception)
def system_error_view(context, request):
    """Example catch all exception handler."""

    # Notify sentry.
    request.raven.captureException()

    # XXX E.g.: render error page.
    # ...

客户端 JavaScript 错误

客户端错误跟踪要求您在 pyramid_raven 之前先配置 pyramid_layout

以及客户端错误

<!-- in production, in the head of your main layout, above all other js -->
${panel('raven-js')}

例如:然后在任何随后加载的脚本中

throw new Error('This javascript error will be logged.')

请注意,如果您从外部域(例如:从 CDN)加载脚本,则由于跨源安全问题,许多浏览器不会记录错误(不会在域之间泄露信息)。您可以通过使用 CORS 来解决这个问题 使用 CORS,但截至撰写本文时,浏览器支持最不稳定。

测试

要运行测试,请安装 pip install nose coverage mock 并例如

$ nosetests --with-doctest --with-coverage --cover-tests --cover-package pyramid_raven pyramid_raven
......
Name                      Stmts   Miss  Cover   Missing
-------------------------------------------------------
pyramid_raven                 9      0   100%
pyramid_raven.client         69      0   100%
pyramid_raven.constants       5      0   100%
pyramid_raven.panel          39      0   100%
-------------------------------------------------------
TOTAL                       122      0   100%
----------------------------------------------------------------------
Ran 6 tests in 0.143s

OK

项目详细信息


下载文件

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

源分布

pyramid_raven-0.2.2.tar.gz (8.5 kB 查看散列)

上传时间

由以下组织支持

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