Debugging

Finch heeft een ingebouwde debugger die gedetailleerde foutpagina's weergeeft in de ontwikkelomgeving.

Debugger inschakelen

Twee instellingen zijn vereist:

// In lib/app.dart
FinchConfigs(
  enableLocalDebugger: true,   // Instelling 1: debugger inschakelen
)
// In bin/finch.dart
FinchApp.run(
  app: App(),
  isLocalDebug: true,          // Instelling 2: uitvoeren in lokale debugmodus
)

Beide instellingen moeten true zijn om foutpagina's voor debugging weer te geven.

Hoe isLocalDebug wordt berekend

Doorgaans wordt isLocalDebug gelezen uit een omgevingsvariabele:

FinchApp.run(
  app: App(),
  isLocalDebug: env['APP_ENV'] == 'local',
)

Op die manier kun je de debugger uitschakelen door APP_ENV=production in te stellen bij deployment.

Sjabloonvariabele

In Jinja-sjablonen is isLocalDebug beschikbaar:

{% if isLocalDebug %}
  <div class="debug-bar">
    Omgeving: Ontwikkeling | Versie: {{ appVersion }}
  </div>
{% endif %}

Foutpagina's

Wanneer de debugger is ingeschakeld:

  • Onverwerkte fouten tonen een volledige stacktrace in de browser
  • 404- en 500-fouten tonen informatieve, overzichtelijke pagina's
  • Verzoekgegevens (headers, params, body) zijn zichtbaar

In productiemodus (isLocalDebug: false):

  • Generieke foutpagina's worden aan gebruikers getoond
  • Stacktraces worden gelogd op de console, niet in de browser