Mig*_*ura 6 serilog asp.net-core asp.net-core-6.0 .net-6.0
我在 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>(); });
Run Code Online (Sandbox Code Playgroud)
如何使用以下命令在 Net 6 中配置 Serilog WebApplicationBuilder:
var builder = WebApplication.CreateBuilder(args);
// Configure Serilog
var app = builder.Build();
Run Code Online (Sandbox Code Playgroud)
    Kah*_*azi 10
您仍然可以在 上使用相同的扩展方法Host。
using Serilog;
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog();
var app = builder.Build();
Run Code Online (Sandbox Code Playgroud)
        小智 6
扩展一下卡巴齐的答案:
如果要使用 appsetting.json 文件进行配置,则需要安装 Nuget 包 Serilog.AspNetCore 并将以下代码放入 Program.cs 中:
using Serilog;
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog((hostContext, services, configuration) =>
{
    configuration.ReadFrom.Configuration(hostContext.Configuration);
});
// ...
var app = builder.Build();
// ...
app.Run();
Run Code Online (Sandbox Code Playgroud)
appsettings.json 中的代码:
{
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console" ],
    "MinimumLevel": "Verbose",
    "Enrich": [ "FromLogContext" ],
    "WriteTo": [
      {
        "Name": "Console"
      }
    ]
  },
 "YourCustomConfigKey1": "blahblah",
 "YourCustomConfigKey2": "asdf"
}
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6356 次  |  
        
|   最近记录:  |