1. 程式人生 > 其它 >.net 5 asp.net core 使用 serilog

.net 5 asp.net core 使用 serilog

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 執行結果