在 Net 6 中使用 WebApplicationBuilder 配置 Serilog

Posted

技术标签:

【中文标题】在 Net 6 中使用 WebApplicationBuilder 配置 Serilog【英文标题】:Configure Serilog with WebApplicationBuilder in Net 6 【发布时间】:2021-11-27 16:03:25 【问题描述】:

我在 Net Core 5 上使用推荐的方法配置 Serilog:

public static void Main(string[] args) 

  Log.Logger = new LoggerConfiguration().WriteTo.Console().CreateLogger();
    
  try 
    Log.Information("Starting up");
    CreateHostBuilder(args).Build().Run();
  
  catch (Exception ex) 
    Log.Fatal(ex, "Application start-up failed");
  
  finally 
    Log.CloseAndFlush();
  



public static IHostBuilder CreateHostBuilder(string[] args) =>
  Host.CreateDefaultBuilder(args)
    .UseSerilog() 
    .ConfigureWebHostDefaults(webBuilder =>  webBuilder.UseStartup<Startup>(); );

如何在 Net 6 中使用 WebApplicationBuilder 配置 Serilog:

var builder = WebApplication.CreateBuilder(args);

// Configure Serilog

var app = builder.Build();

【问题讨论】:

【参考方案1】:

您仍然可以在Host 上使用相同的扩展方法。

using Serilog;

var builder = WebApplication.CreateBuilder(args);

builder.Host.UseSerilog();

var app = builder.Build();

【讨论】:

以上是关于在 Net 6 中使用 WebApplicationBuilder 配置 Serilog的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Asp.Net 5 (MVC 6) 中使用实体框架 6.x

Sping IOC容器

在 ASP.NET Core 6.0 中使用 Serilog

在 ASP.NET 应用程序中使用扩展 - .NET 6

如何使用 .NET 4.6.1 在 Insights 中记录每个 Web api 请求

在 Net 6 中使用 WebApplicationBuilder 配置 Serilog