Debugging
فینچ یک debugger داخلی دارد که صفحههای خطای دقیق را در محیط توسعه نمایش میدهد.
فعالسازی debugger
دو تنظیم مورد نیاز است:
// در lib/app.dart
FinchConfigs(
enableLocalDebugger: true, // تنظیم 1: فعالسازی debugger
)
// در bin/finch.dart
FinchApp.run(
app: App(),
isLocalDebug: true, // تنظیم 2: اجرا در حالت debug محلی
)
هر دو تنظیم باید true باشند تا صفحههای خطای debug نمایش داده شوند.
چگونگی محاسبه isLocalDebug
معمولاً isLocalDebug از یک متغیر محیطی خوانده میشود:
FinchApp.run(
app: App(),
isLocalDebug: env['APP_ENV'] == 'local',
)
به این ترتیب میتوانید با استقرار APP_ENV=production، debugger را غیرفعال کنید.
متغیر قالب
در قالبهای Jinja، isLocalDebug در دسترس است:
{% if isLocalDebug %}
<div class="debug-bar">
محیط: توسعه | نسخه: {{ appVersion }}
</div>
{% endif %}
صفحه خطا
هنگامی که debugger فعال است:
- خطاهای مدیریتنشده stack trace کامل را در مرورگر نمایش میدهند
- خطاهای 404 و 500 صفحههای زیبا و اطلاعاتدهنده نمایش میدهند
- اطلاعات درخواست (headers، params، body) قابل مشاهده هستند
در حالت production (isLocalDebug: false):
- صفحههای خطای عمومی برای کاربران نمایش داده میشود
- stack trace ها در console لاگ میشوند نه در browser