调试
Finch 内置调试器,在开发环境中显示详细的错误页面。
启用调试器
需要两个设置:
// 在 lib/app.dart 中
FinchConfigs(
enableLocalDebugger: true, // 设置 1:启用调试器
)
// 在 bin/finch.dart 中
FinchApp.run(
app: App(),
isLocalDebug: true, // 设置 2:以本地调试模式运行
)
两个设置都必须为 true 才能显示调试错误页面。
isLocalDebug 的计算方式
通常从环境变量读取 isLocalDebug:
FinchApp.run(
app: App(),
isLocalDebug: env['APP_ENV'] == 'local',
)
这样,通过在部署时设置 APP_ENV=production 即可禁用调试器。
模板变量
在 Jinja 模板中,isLocalDebug 可用:
{% if isLocalDebug %}
<div class="debug-bar">
环境:开发 | 版本:{{ appVersion }}
</div>
{% endif %}
错误页面
启用调试器时:
- 未处理的错误在浏览器中显示完整的堆栈跟踪
- 404 和 500 错误显示美观、信息丰富的页面
- 请求信息(headers、params、body)可见
生产模式(isLocalDebug: false)时:
- 向用户显示通用错误页面
- 堆栈跟踪记录到控制台,而不是浏览器