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