先貼上關於使用這個日志組件的一些使用方法,等有時間了在吧官方的文檔翻譯一下吧,現在真是沒時間。
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>來進行使用了。