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中间件,它可以拦截执行期间抛出的任何异常,检索一个跟踪对象,并将其提供给一个或多个报告器以记录错误。
默认情况下,提供了EmailReporter和SentryReporter,用于通过电子邮件和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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8d7e5f4f9d9c7363e7c0a6c3d604daca641f03c0fbf4252b3b71d1af4e5ac |
|
MD5 | 364d82bb6b35c7f28cac3b26e2c828f4 |
|
BLAKE2b-256 | 8cb0cb16bf831dbf45760ed477e36dcc9a577da082d2d3c84197a7caf4e961d7 |