15 أساسيات Laravel 11: التسجيل

أتقن أساسيات التسجيل في Laravel 11 مع هذا الدليل الشامل. حسّن قدرات المراقبة وتصحيح الأخطاء في تطبيقك.
التكوين
جميع خيارات التكوين التي تتحكم في سلوك التسجيل في تطبيقك موجودة في ملف التكوين config/logging.php. يتيح لك هذا الملف تكوين قنوات سجل تطبيقك. بشكل افتراضي، يستخدم Laravel قناة stack لتجميع قنوات سجل متعددة في قناة واحدة.
// config/logging.php
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'slack'],
],
// تكوينات قنوات أخرى...
],
];محركات القنوات المتاحة
كل قناة سجل مدعومة بـ "محرك". محركات قنوات السجل التالية متاحة في كل تطبيق Laravel:
single: مسجل ملف واحد أو قائم على المسار.daily: معالج ملف دوار يتغير يومياً.slack: يرسل رسائل السجل إلى Slack.syslog: يرسل رسائل السجل إلى syslog.errorlog: يرسل رسائل السجل إلى سجل أخطاء النظام.custom: يستخدم مصنعاً محدداً لإنشاء قناة.
// config/logging.php
return [
'channels' => [
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'critical',
],
],
];كتابة رسائل السجل
يمكنك كتابة المعلومات في السجلات باستخدام واجهة Log. يوفر Laravel مستويات التسجيل الثمانية المحددة في مواصفات RFC 5424: emergency، alert، critical، error، warning، notice، info، و debug.
use Illuminate\Support\Facades\Log;
Log::emergency('رسالة طوارئ');
Log::alert('رسالة تنبيه');
Log::critical('رسالة حرجة');
Log::error('رسالة خطأ');
Log::warning('رسالة تحذير');
Log::notice('رسالة ملاحظة');
Log::info('رسالة معلومات');
Log::debug('رسالة تصحيح');المعلومات السياقية
يمكن تمرير مصفوفة من البيانات السياقية إلى طرق السجل. سيتم تنسيق هذه البيانات السياقية وعرضها مع رسالة السجل.
use Illuminate\Support\Facades\Log;
Log::info('فشل المستخدم {id} في تسجيل الدخول.', ['id' => $user->id]);يمكنك أيضاً مشاركة المعلومات السياقية عبر جميع قنوات التسجيل باستخدام طريقة Log::shareContext.
use Illuminate\Support\Facades\Log;
Log::shareContext(['request_id' => $requestId]);تخصيص قنوات السجل
يمكنك تخصيص Monolog للقنوات عن طريق تعريف مصفوفة tap في تكوين القناة. يجب أن تحتوي هذه المصفوفة على قائمة بالفئات التي يمكنها تعديل مثيل Monolog.
// config/logging.php
return [
'channels' => [
'single' => [
'driver' => 'single',
'tap' => [App\Logging\CustomizeFormatter::class],
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
],
];عرّف الفئة التي ستخصص مثيل Monolog الخاص بك:
namespace App\Logging;
use Monolog\Formatter\LineFormatter;
use Monolog\Logger;
class CustomizeFormatter
{
public function __invoke(Logger $logger)
{
foreach ($logger->getHandlers() as $handler) {
$handler->setFormatter(new LineFormatter(
'[%datetime%] %channel%.%level_name%: %message% %context% %extra%'
));
}
}
}الخاتمة
فهم نظام التسجيل في Laravel ضروري لمراقبة وتصحيح أخطاء تطبيقك. من خلال تكوين وتخصيص قنوات السجل، يمكنك ضمان تسجيل المعلومات الحرجة وسهولة الوصول إليها.
لمزيد من المعلومات التفصيلية، راجع توثيق التسجيل الرسمي في Laravel 11.
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

13 أساسيات Laravel 11: التحقق من الصحة
تعلم أساسيات التحقق من صحة البيانات في Laravel 11 مع دليل احترافي وتعليمي. يغطي هذا الدرس تعريف المسارات وإنشاء المتحكمات وتنفيذ منطق التحقق.

البدء مع Laravel 11: التثبيت والتكوين وهيكل المجلدات
البدء مع Laravel 11: التثبيت والتكوين وهيكل المجلدات

5 أساسيات Laravel 11: Controllers
دليل تعليمي حول أساسيات التحكم في Laravel 11، مناسب للمطورين من جميع المستويات.