گزارش گیری (Log) در Yii2

یکی از ابزار های مفید و پرکاربرد فریم ورک yii2 سیستم گزارش گیری می باشد که به برنامه نویس این امکان را می دهد تا برنامه ی خود را بهتر مدیریت کند .
برای ثبت پیام هایی که سیستم (و یا خودمون تعریف می کنیم)گزارش گیری میکند به روش های زیر عمل می کنیم :

  • Yii::trace()
  • Yii::info()
  • Yii::warning()
  • Yii::error

که به ترتیب برای:
تریس کردن کد توسط برنامه نویس ,
ثبت اطلاعات مفیدی که به برنامه نویس کمک می کند تا کد خود را بهتر مدیریت کند ,
ثبت پیام های هشدار دهنده ای که به صورت اتفاقی ممکن است رخ دهد ,
ثبت خطاهایی که سیستم را دچار مشکل می کند .
//در گزارش گیری پیام هایی که ثبت میشه دارای سطوح مختلف و دسته بندی های مفاوتی می باشند .
برای تنظیمات گزارش گیری به قسمت main.php در config می رویم
و در قسمت components . کد زیر به صورت پیش فرض به صورت زیر می باشد

 'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],

که امکان گزارش گیری در سطوح error و warning که در بالا اشاره کردیم را انجام می دهد .

نکته این که گزارش گیری به چند روش انجام می شود

      DbTarget
      EmailTarget
      FileTarget

در دیتابیس
ارسال ایمیل
و ذخیره سازی در فایل

که ما از روش fileTarget استفاده کردیم

گزارشات در مسیر
/runtime/logs/app.log ذخیره می گردد.
برای گزارشگیری اطلاعات بر اساس سطوح دیگر و در دسته بندی های دیگر می توانید بر اساس نیاز خود آن ها را ایجاد نمایید
به این صورت :

'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['info'],
                    'categories' => ['rss'],
                    'logFile' => '@app/runtime/logs/rss/rss.log',               
                ],
            ],
        ],

در کد بالا ما مشخص کردیم که سیستم ذخیره اطلاعات به صورت فایلی باشد
همچنین سطوح مورد استفاده را error و warning قرار دادیم
چیز جدیدی که اضافاه کردیم
level یا همون سطح می باشد که ما برابر با info قرار دادیم
و دسته بندی آن را rss تعیین کردیم
همچنین مسیر ذخیره سازی را در فولدری به نام rss و با نام rss.log قرار دادیم
در نهایت کاری که باید انجام بدیم
نحوه ی استفاده یا همون گزارش گیری می باشد

Yii::info($message,'rss');

با کد بالا ما پیامی را در گزارشات ثبت کردیم که جزئ دسته بندی rss می باشد
به این معنی که در rss.log ذخیره می گردد
نه در app.log

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *