日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.Net Core中的日志组件(Logging)

發布時間:2023/12/4 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .Net Core中的日志组件(Logging) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、介紹

  Logging組件是微軟實現的日志記錄組件包括控制臺(Console)、調試(Debug)、事件日志(EventLog)和TraceSource,但是沒有實現最常用用的文件記錄日志功能(可以用其他第三方的如NLog、Log4Net。之前寫過NLog使用的文章)。

2、默認配置

  新建.Net Core Web Api項目,添加下面代碼。

運行結果如下:

?

我剛開始接觸的時候,我就有一個疑問我根本沒有配置關于Logger的任何代碼,僅僅寫了注入,為什么會起作用呢?最后我發現其實是在Program類中使用了微軟默認的配置。

下面為CreateDefaultBuilder方法的部分源碼,整個源碼在?https://github.com/aspnet/MetaPackages,可以看出在使用模板創建項目的時候,默認添加了控制臺和調試日志組件,并從appsettings.json中讀取配置。

?3、建立自己的Logging配置

  首先修改Program類

修改Startup類如下面,此類的執行順序為?Startup構造函數 > ConfigureServices > Configure

這種結構就比較清晰明了。

4、Logging源碼解析

  三種配置其實都是為了注入日志相關的服務,但是調用的方法稍有不同。現在我們以第二種配置來詳細看看其注入過程。首先調用AddLogging方法,其實現源碼如下:

接著會調用AddConfiguration

下面來看打印日志的具體實現:?

下面具體看一下Console的打印實現:

首先ConsoleLogger實現了ILogger的Log方法,并在方法中調用WriteMessage方法

?下面看日志被放入隊列后的具體實現:

原文地址:https://www.cnblogs.com/MicroHeart/p/9341286.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的.Net Core中的日志组件(Logging)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。