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