asp.net core Serilog的使用


先貼上關於使用這個日志組件的一些使用方法,等有時間了在吧官方的文檔翻譯一下吧,現在真是沒時間。

Serilog在使用上主要分為兩大塊:

第一塊是主庫,包括Serilog以及Serilog.AspNetCore,如果導入后一個的話會自動導入前一個,因為后者(serilog.aspnetcore)依賴前者(serilog).

第二塊是各種sinks,就是各種輸出目標,比如Serilog.Sinks.File這個庫主要是將日志輸出到文件上,Serilog.Sinks.Console主要是將日志輸出到控制台上面。

下面介紹使用方法。

首先添加nuget package:

①:install-package Serilog.AspNetCore -DependencyVersion Highest  這一步操作也會導入Serilog。因為依賴關系。

②: install-package Serilog.Sinks.File  Serilog.Sinks.Console 這一步安裝了兩個Sinks,因為我要將日志輸出到Console和File中。系統默認的也有Console的支持,但是這個的顯示更加有好一些。

然后在program中添加如下代碼:

 public static int Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()//最小的輸出單位是Debug級別的
                .MinimumLevel.Override("Microsoft", LogEventLevel.Information)//將Microsoft前綴的日志的最小輸出級別改成Information
                .Enrich.FromLogContext()
                .WriteTo.File(@"C:\Users\jianxin\Desktop\logFiles\pangjianxin.{Date}.txt",RollingInterval.Day)將日志輸出到目標路徑,文件的生成方式為每天生成一個文件
                .CreateLogger();

            try
            {
                Log.Information("Starting web host");
                CreateWebHostBuilder(args).Build().Run();
                return 0;
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "Host terminated unexpectedly");
                return 1;
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }

然后,在CreateWebHostBuilder方法中添加UseSerilog:

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseSerilog()//添加這個
                .UseStartup<Startup>();

然后就可以注入Ilogger<sometype>來進行使用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM