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 运行结果