跳转到主要内容

Werkzeug调试器的独立WebOb端口,支持Python3,旨在替代未来TurboGears2中的WebError

项目描述

关于backlash

backlash是一个网络应用程序调试的多功能工具,它提供:

  • 基于WebOb的Werkzeug调试器分支的交互式浏览器调试器

  • 通过电子邮件和Sentry进行崩溃报告

  • 通过电子邮件和Sentry报告慢请求。

backlash最初是为了在TurboGears2.3版本中替代WebError而诞生的。

安装

可以从pypi安装backlash

pip install backlash

应该对大多数用户来说都能正常工作

调试和控制台

Backlash支持在崩溃和实时控制台上调试应用程序,两者都基于Werkzeug调试器,并适应与WebOb一起使用。

调试功能由DebuggedApplication中间件提供,使用此中间件包装您的应用程序将拦截任何异常,并在浏览器中显示堆栈跟踪和交互式控制台。

交互式控制台也始终可在/__console__路径下使用。

上下文注入器

调试应用程序中间件还允许提供一个或多个上下文注入器,这些是简单的Python函数,当发生异常时会调用它们以检索要存储的上下文,并在调试期间再次使其可用。

上下文注入器必须返回一个字典,该字典将合并到当前的请求上下文中,请求上下文本身将在调试器中作为ctx对象提供。

该功能可由TurboGears用于提供执行期间可用的某些对象,例如当前请求。

示例

TurboGears使用以下方式使用DebuggedApplication中间件

def _turbogears_backlash_context(environ):
    tgl = environ.get('tg.locals')
    return {'request':getattr(tgl, 'request', None)}

app = backlash.DebuggedApplication(app, context_injectors=[_turbogears_backlash_context])

异常跟踪

TraceErrorsMiddleware提供了一个WSGI中间件,它可以拦截执行期间抛出的任何异常,检索一个跟踪对象,并将其提供给一个或多个报告器以记录错误。

默认情况下,提供了EmailReporterSentryReporter,用于通过电子邮件和Sentry发送错误报告。

EmailReporter支持WebError ErrorMiddleware的大多数选项,以提供某种向后兼容性并使快速过渡成为可能。

虽然此功能很容易通过使用python logging SMTPHandler复制,但TraceErrorsMiddleware明确是为了Web应用程序崩溃报告而设计的,它具有提供更完整信息和在管理错误时保持清晰和独立过程的好处。

示例

TurboGears使用以下方式使用TraceErrorsMiddleware

from backlash.trace_errors import EmailReporter

def _turbogears_backlash_context(environ):
   tgl = environ.get('tg.locals')
   return {'request':getattr(tgl, 'request', None)}

app = backlash.TraceErrorsMiddleware(app, [EmailReporter(**errorware)],
                                     context_injectors=[_turbogears_backlash_context])

慢请求跟踪

TraceSlowRequestsMiddleware提供了一个WSGI中间件,它跟踪请求的执行时间,并报告耗时超过指定间隔(默认为25秒)的请求。

还可以排除以指定字符串开头的路径列表,以避免报告长轮询连接或其他预期寿命较长的请求。

示例

TurboGears使用以下方式使用TraceSlowRequestsMiddleware

from backlash.trace_errors import EmailReporter

def _turbogears_backlash_context(environ):
   tgl = environ.get('tg.locals')
   return {'request':getattr(tgl, 'request', None)}

app = backlash.TraceSlowRequestsMiddleware(app, [EmailReporter(**errorware)],
                                           interval=25, exclude_paths=None,
                                           context_injectors=[_turbogears_backlash_context])

项目详情


下载文件

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

源分发

backlash-0.3.2.tar.gz (177.8 kB 查看散列)

上传

由以下支持