调试

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)时:

  • 向用户显示通用错误页面
  • 堆栈跟踪记录到控制台,而不是浏览器