دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • مرداد

جلسه ۱۶ : معرفی Logging در ASP.NET Core بخش دوم

  • دسته‌بندی‌ها :
جلسه ۱۶ : معرفی Logging در ASP.NET Core بخش دوم
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه :

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش asp.net core در خدمت شما دوستان هستیم . در بخش قبل در رابطه با Logging توضیح دادیم و در ادامه همان بحث این عملیات را در کنسول توضیح می دهیم و در این جلسه به معرفی Logging در ASP.NET Core می پردازیم تا پایان این جلسه با ما همراه باشید.

      برای انجام عملیات Logging در کنسول مراحل زیر را انجام می دهیم :

      مرحله اول : نصب بسته مورد نظر از مرجع NuGet :

      ASP.NET Core 1.x :

      بسته Microsoft.Extensions.Logging.Console را از NuGet دانلود کرده و به وابستگی های پروژه اضافه می کنیم :

      مثال : 

      لیست وابستگی های خارجی (NuGet و …) در فایل project.json ذخیره می شود. ویژوال استودیو بسته های موجود در این فایل را به طور خودکار بارگذاری می کند .

       

      ASP.NET Core 2.x :

      در نسخه جدیدتر ، به طور پیش فرض، Microsoft.Extensions.Logging.Console در بسته Microsoft.AspNetCore.All موجود است، بنابراین ما لازم نیست آن را به طور جداگانه در برنامه ASP.NET Core 2.x نصب کنیم.

       

      مرحله دوم : استفاده از ارائه دهندگان (Provider) :

      ASP.NET Core 1.x :

      برای استفاده از logger در کنسول، ابتدا باید آن را پیکربندی کنیم. ابتدا باید ConsoleLoggerProvider را با استفاده از LoggerFactory به لیست Provider ها اضافه کنیم.

      کلاس LoggerFactory را قبلا در بالا مشاهده کردید ، این کلاس دارای متد AddProvider می باشد که اینترفیس ILoggerProvider را به لیست اضافه می کند.

      بسته Microsoft.Extensions.Logging.Console شامل تمام کلاس های لازم است. بنابراین، می توانیم ConsoleLoggerProvider را همانطور که در زیر نشان داده شده پیاده سازی کنیم .

      مثال : 

       

      همانطور که در کدهای بالا می بینید ، نمونه ای از ConsoleLoggerProvider را به Provider ها اضافه کردیم. اکنون می توانیم عملیات Logging را آغاز کنیم. کنسول اطلاعات تمام log ها را طبق سطحشان نمایش می دهد.

      ما همچنین می توانیم از متد AddConsole به جای پیکربندی کنسول logger به صورت دستی استفاده کنیم، همانطور که در زیر نشان داده شده است:

      مثال : 

       

      ASP.NET Core 2.x:

      در نسخه جدیدتر ، متد CreateDefaultBuilder شامل Provider هایی برای انجام عملیات Log گیری در کنسول و اشکال زدایی می باشد. بنابراین نیازی به اضافه کردن آن در بخش Configure در ASP.NET Core 2.x نیست.

       

      مرحله سوم : ایجاد گزارش (Log) :

      این مرحله برای هر دو برنامه ASP.NET Core 1.x و ۲ قابل اجرا است.

      اکنون می توانیم Log های مربوطه را ایجاد کنیم و با استفاده از LoggerFactory نمونه ای از ILogger را در کنسول ایجاد کنیم و شروع به Log گیری کنیم.

      همانطور که در زیر نشان داده شده است:

      مثال : 

       

      ما همچنین می توانیم از ILogger در هر برنامه کاربردی استفاده کنیم. ظرف IoC هرجا که ILogger در برنامه فراخوانی شود نمونه ای ConsoleLogger را تزریق می کند.

      به عنوان مثال، می توانیم ILogger را در MVC-controller به شکل زیر استفاده کنیم.

      مثال : 

      هنگامی که شما http: // localhost: 5000 / home / index را وارد می کنید Log بالا مشاهده خواهید کرد.

      می توانیم از هر یک از Provider های Logging ساخته شده بالا به همین روش استفاده کنیم.

       

      سطوح Log ها (Log Levels) :

      سطوح Log ها نشان دهنده کاربرد و شدت تاثیرگذاری آنها در سطحی خاص است . در  ASP.NET Core سطوح زیر تعریف شده است.

      توضیحاتمتد توسعه یافتهشدت تاثیرگذاریسطوح  Log ها
      پیام هایی را Log میکند که فقط برای دنبال کردن هدفی خاص برای توسعه دهندگان استLogTrace()۰Trace
      پیام هایی را Log میکند که فقط برای خطایابی اهداف کوتاه مدت هستندLogDebug()۱Debug
      پیام هایی را Log میکند که در جریان اجرای برنامه اتفاق می افتند.LogInformation()۲Information
      پیام هایی را Log میکند که در بروز وقایع غیر عادی و غیر منتظره در جریان برنامه رخ میدهند.LogWarning()۳Warning
      پیغام های خطا را Log میگیردLogError()۴Error
      پیام هایی را Log میکند که که نیاز دارند فورا رفع شوند.LogCritical()۵Critical

       

      ما می توانیم از متدهای توسعه یافته برای نشان دادن سطح پیام ها به صورت زیر استفاده کنیم.

      مثال : 

       

      Provider های ثبت Log آماده:

      در زیر برخی از ارائه دهندگان ثبت Log که با ASP.NET Core هماهنگ هستند آورده شده است :

      توضیحاتLogging Provider
      ارائه دهنده ای برای سرویس Elmah.Ioelmah.io
      ارائه دهنده ای برای سرویس LoggerLoggr
      ارائه دهنده ای برای سرویس NLogNLog
      ارائه دهنده ای برای سرویس SerilogSerilog

       

      در بخش بعدی در مورد متغییر های محیطی (environment variables) در ASP.NET Core توضیح می دهیم.

      QR:  جلسه ۱۶ : معرفی Logging در ASP.NET Core بخش دوم
      به اشتراک بگذارید