asp.net core 配置第三方日誌組件(serilog)

得益於.net core的模塊化設計,我們可以很輕鬆的加入我們喜歡的功能和組件,今天我們就簡單的說一下他的Logger組件。.net core 自帶有日誌組件,功能也比較完善,通過依賴注入的方式使用也很方便,應對一般的用途是足夠的。但很多時候我們會選擇使用第三方更加完善的日誌組件,比較常用的有Nlog和Serilog,下面我們以Serilog爲例簡單的介紹一下如何在.net core中配置和使用第三方日誌組件。

1、通過nuget下載serilog和對應的skins,skins有很多種,其中常用的有Serilog.Sinks.File/Serilog.Sinks.Console/Serilog.Sinks.Debug,它表示將日誌的內容輸出到不同的媒介中,對應的就是上面的文件、控制檯和debug窗口。爲了圖省事,我們只需要添加下圖的這個包就行了,可以看到它的依賴種已經包含了我們需要的skins

 2、配置Serilog。其實很簡單只需要在Program類種的main方法中做如下修改即可(注意:不是在startup類中):

public static void Main(string[] args)
{
    //第三方log工具serilog的相關配置
    Log.Logger = new LoggerConfiguration()
        //配置日誌最小輸出的級別爲:debug
        .MinimumLevel.Debug()
        //如果是Microsoft的日誌,最小記錄等級爲info
        .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
        .Enrich.FromLogContext()
        //輸出到控制檯
        .WriteTo.Console()
        //將日誌保存到文件中(兩個參數分別是日誌的路徑和生成日誌文件的頻次,當前是一天一個文件)
        .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day)
        .CreateLogger();

    CreateWebHostBuilder(args)
        //使用serilog
        .UseSerilog()
        .Build()
        .Run();
}

好了,到此我們就完成了基本的配置。我們啓動一下項目會發現控制檯的日誌發生了變化:

左邊是原始的,右邊的是我們配置了serilog後的樣子,並且我們的項目中也多出來一個log文件夾,裏面存放了我們產生的日誌文件,文件名爲 log+八位日期。

3、使用log。一般我們通過構造器注入的方式來使用logger:

注入完後我們就可以愉快的添加日誌啦:



          4、拓展:日誌的等級LogLevel 枚舉

 

 

發佈了31 篇原創文章 · 獲贊 57 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章