如何在红隼项目中使用UseSerilog

  • 本文关键字:UseSerilog 项目 serilog
  • 更新时间 :
  • 英文 :


我有这个启动代码,我正试图找出如何添加Serilog到它。

using Microsoft.AspNetCore.Components.WebAssembly.Server ;
using System.Net;
using Serilog;
using Serilog.AspNetCore;

var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Configure the HTTP request pipeline.
if (builder.Environment.IsDevelopment()) {
}
else {
builder.Services.AddLettuceEncrypt();
builder.WebHost.UseKestrel(k => {
var appServices = k.ApplicationServices;
k.Listen(IPAddress.Any, 80);
k.Listen(IPAddress.Any, 443,
o => o.UseHttps(h => {
h.UseLettuceEncrypt(appServices);
}));
k.ConfigureHttpsDefaults(h => {
h.UseLettuceEncrypt(appServices);
});
});
}
var app = builder.Build();
app.UseHttpsRedirection();
app.UseBlazorFrameworkFiles();
app.UseStaticFiles();
app.UseRouting();
app.MapControllers();
app.MapFallbackToFile("index.html");
app.Run();

我找到了Serilog。并安装了该软件包。github home https://github.com/serilog/serilog-aspnetcore说要添加UseSerilog,但我不知道如何将其连接进去。

我添加了

// Add services to the container.
builder.Services.AddControllers();
builder.WebHost.UseSerilog(); <<<====

但这是不赞成的,它说的是

warning CS0618: 'SerilogWebHostBuilderExtensions. 'UseSerilog(IWebHostBuilder, ILogger, bool, LoggerProviderCollection)'已过时:'在IHostBuilder上首选UseSerilog() '

但是我没有IHostBuilder,也不知道如何制作一个。我也找不到扩展名为

的包

IHostBuilderbuilder.Host
从文档

用于配置主机特定属性的IHostBuilder,但不用于构建。

配置Serilog的调用变成

builder.Host.UseSerilog();

最新更新