我有这个启动代码,我正试图找出如何添加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,也不知道如何制作一个。我也找不到扩展名为
的包IHostBuilder
在builder.Host
上
从文档
用于配置主机特定属性的
IHostBuilder
,但不用于构建。
配置Serilog
的调用变成
builder.Host.UseSerilog();