شرح صفوف ومحتوى الفقرة
إن كتابة جميع السجلات في ملف واحد يؤدي بمرور الوقت لتضخم ملف laravel.log واستهلاك مساحة القرص. يتيح ضبط LOG_STACK=daily تدوير ملفات السجل يومياً بالتاريخ وتنظيف القديم منها، كما تسمح دالة Log::channel بتوجيه سجلات محددة كالمدفوعات إلى قناة مستقلة.
- التدوير اليومي للسجلات (Daily Log Rotation): تنشئ سواقة daily ملفاً منفصلاً لكل يوم وتحذف الملفات الأقدم من 14 يوماً تلقائياً.
- التوجيه لقناة مخصصة (Targeted Channel Routing): استدع دالة Log::channel لتسجيل العمليات الحساسة كالمدفوعات في ملف مستقل.
- دمج القنوات عبر Stack (Stack Multi-Channel Driver): اجمع بين الحفظ اليومي في الملفات وإرسال تنبيهات Slack الفورية عبر قناة stack موحدة.
PHP
// .env: LOG_CHANNEL=stack & LOG_STACK=daily
use Illuminate\Support\Facades\Log;
Log::channel('daily')->warning('Disk above 80%', [
'server' => 'web-01',
]);