.net 5 asp.net core 使用 serilog
1 使用 nuget 安装 Serilog.AspNetCore 包
2 在 Program.cs 中 添加以下引用
using Serilog; using Serilog.Formatting.Compact;
using Serilog.Events;
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) { // Create the Serilog logger, and configure the sinks Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() // 最小日志级别,即如果最小日志级别为 Error 则下面的 Log.Information 不会记录日志 .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) .MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.File(formatter: new CompactJsonFormatter(), "logs\\serilog.txt", rollingInterval: RollingInterval.Day) .CreateLogger(); // Wrap creating and running the host in a try-catch block try { Log.Information("Starting host"); CreateHostBuilder(args).Build().Run(); } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly"); } finally { Log.CloseAndFlush(); } }
5 运行结果
6. 使用Serilog 记录日志