iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
Modern Web

ASP.NET Core 入門實戰30天系列 第 6

Day 6 Logging

本篇重點

ASP .NET Core 提供的Loggin
Loggin level


前言

Asp .NET Core 的Loggin機制,也是利用DI的方式去注入,本篇將著重在loggin API的介紹
之後練習實務上如何去寫一個log輸出到文字檔


Asp .NET Core loggin

ASP .NET Core 提供了一些現有的 Logging Providers, 其中裡面有許多 Logging API 可以直接拿來使用,而使用的方式就是直接DI到就夠子裡面,就可以直接拿來使用了

以下是Loggin API 提供的一些介面

  • ILoggerFactory
    提供LoggerFactory去實作ILoggerFactory
    並提供AddProvider和CreateLogger的方法去註冊LoggerProvider
    有點像是建立不同類別的loggin

  • ILoggerProvider
    提供LoggerProvider去實作,建立Logger去真正的紀錄log資訊

  • ILogger
    真正提供寫入log的介面
    提供許多擴充方法供我們使用

簡單來說就是

ILoggerFactory 註冊了不同類別的LoggerProvider
LoggerProvider 去建立Logger
然後Logger使用方法去紀錄

使用範本建立的專案
就可以看到已經預設就有 DI 一個ILogger的interface
這裡可以先關注ILogger的部分
由於 .NET Core 以上這些方式去實作log機制
但在ASP. NET Core 直接使用ILogger去實作log

所以在一開始建立專案時可以看到controller 會去注入一個logger

loggin level

這個部分可以直接參考官網上的說明
主要分為以下六種層級

Demo

預計會練習新增一個log
並寫入到指定的目錄裡面

這部分會再更新上來


參考資料

https://dotblogs.com.tw/aspnetshare/2016/05/01/20160430-logging

https://beckjin.com/2020/02/09/aspnet-log/

https://www.tutorialsteacher.com/core/fundamentals-of-logging-in-dotnet-core

https://www.roundthecode.com/dotnet/create-your-own-logging-provider-to-log-to-text-files-in-net-core

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1#log-level


上一篇
Day 5 Dependency Injection
下一篇
Day 7 錯誤處理 Error handle
系列文
ASP.NET Core 入門實戰30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言