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



  • ۱۶
  • مرداد

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

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

      مقدمه :

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

      چارچوب ASP.NET Core امکان استفاده از Logging  را برای ثبت رویداد فراهم کرده است. پس، می توانیم به راحتی در برنامه ASP.NET Core رویدادهای مورد نظر خود را ثبت کرده و از آنها استفاده کنیم.

      قبل از اینکه ببینیم عملیات ثبت رویداد چگونه در برنامه ASP.NET Core انجام می شود، ابتدا باید مهمترین ورودی ها و کلاس های مربوطه در چارچوب ASP.NET Core را درک کنیم.

      در زیر اینترفیس ها و کلاس های مورد نیاز برای ثبت رویداد در ASP.NET Core آورده شده است . لازم به ذکر است این موارد در Namespace (فضای نام) Microsoft.Extensions.Logging قرار گرفته اند.

      1. ILoggingFactory
      2. ILoggingProvider
      3. ILogger
      4. LoggingFactory

      شکل زیر رابطه بین آنها را نشان می دهد :

      نحوه انجام عملیات Log گیری

      نحوه انجام عملیات Log گیری

      در ادامه آنها را یک به یک شرح می دهیم :

      ILoggerFactory :

      اینترفیسی است که درآن اینترفیسهای ILogger و ILoggerProvider مورد استفاده قرار می گیرند ، به کدهای زیر دقت کنید :

      مثال : 

      ASP.NET Core  شامل اینترفیس LoggerFactory است که اینترفیس ILoggerFactory را اجرا می کند. می توانیم از آن برای اضافه کردن اینترفیس ILoggerProvider استفاده کنیم و مثال ILogger را برای رده مشخص شده بازیابی کنیم.

      ASP.NET Core در زمان اجرا یک نمونه از کلاس LoggerFactory را ایجاد می کند و آن را برای ILoggerFactory در ظرف IoC ساخته شده در هنگام اجرای برنامه ثبت می کند. بنابراین، ما می توانیم رابط ILoggerFactory را در هر نقطه از برنامه خود استفاده کنیم.

      ظرف IoC در هر جایی که با نوع ILoggerFactory مواجه می شود ،نمونه ای از LoggerFactory را به درخواست شما منتقل می کند.

       

       ILoggerProvider :

      ILoggerProvider مدیریت و ایجاد logger مناسب را با طبقه بندی مخصوص تعیین می کند.

      مثال : 

      می توانیم با استفاده از اینترفیس ILoggerProvider، ثبت رویداد در سیستم خود را ایجاد کنیم.

       

       ILogger :

      اینترفیس ILogger شامل متدهایی برای ورود به حافظه اصلی است.

      مثال : 

       

      ارائه دهندگان خدمات ثبت رویداد آماده (Built-in) :

      بسته ارائه دهندگان (Providers) آماده مختلفی در NuGet در دسترس هستند که ما می توانیم از آنها برای ارسال خروجی Log به محیط های مختلف مانند کنسول، پنجره اشکالزدایی، EventSource و … استفاده کنیم. ASP.NET Core دارای ارائه دهندگان آماده زیر می باشد:

      1. Console
      2. Debug
      3. EventSource
      4. EventLog
      5. TraceSource
      6. Azure App Service

      در ادامه مطلب یک به یک آنها را شرح می دهیم:

      Console Logger :

      بسته Microsoft.Extensions.Logging.Console شامل کلاس های Logging است که خروجی آن ها را به کنسول ارسال می کند. کلاس های زیر برای انجام عملیات Logging در کنسول هستند.

      1. ConsoleLoggingProvider
      2. ConsoleLogger
      3. ConsoleLoggerExtension
      4. ConsoleLoggerSettings
      5. ConsoleLoggerScope

      شکل زیر نشانگر نحوه عملیات Logging در کنسول است.

      Logging در کنسول

      Logging در کنسول

      همانطور که در شکل بالا می بینید، ConsoleLogger اینترفیس ILooger را اجرا می کند و  در ادامه نیز ConsoleLoggingProvider اینترفیس ILoggingProvider را اجرا می کند.

      کلاس ConsoleLoggerExtensions شامل متد AddConsole است که logger را به LoggerFactory اضافه می کند.

       

      در بخش بعدی این مطلب ، از logger برای نمایش خروجی Log ها در کنسول در هر دو برنامه ASP.NET Core 1.x و  ۲ استفاده می کنیم.

       

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