.net 5 asp.net core 使用 serilog
阿新 • • 發佈:2021-06-26
1 使用 nuget 安裝Serilog.AspNetCore 包
2 在 Program.cs 中 新增以下引用
using Serilog; using Serilog.Formatting.Compact;
3 在 Program.cs 中方法 CreateHostBuilder 中啟用 Serilog
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder=> { webBuilder.UseStartup<Startup>(); }) .UseSerilog(dispose: true);
4 測試程式碼
在 Program.cs Main 方法中新增如下測試方法
public static void Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug()// 最小日誌級別,即如果最小日誌級別為 Error 則下面的 Log.Information 不會記錄日誌 .Enrich.FromLogContext() .WriteTo.Console(new RenderedCompactJsonFormatter()) .WriteTo.File(formatter: new CompactJsonFormatter(), "logs\\myapp.txt", rollingInterval: RollingInterval.Day) .CreateLogger();try { Log.Information("Starting web host"); CreateHostBuilder(args).Build().Run(); return ; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly"); return ; } finally { Log.CloseAndFlush(); } }
5 執行結果