在 serilog-aspnetcore 版本 5.0.0 中,该UseSerilog()扩展已被弃用* IWebHostBuilder。但是,我仍在使用 aIWebHostBuilder和 aStartup类(aspnetcore 6),并且IWebHostBuilder并未弃用。
由于弃用意味着将来会被删除,我应该如何利用 Serilog 继续前进?
* 参考: https://github.com/serilog/serilog-aspnetcore/releases/tag/v5.0.0
IWebHostBuilder在平台上将扩展标记为已过时IHostBuilder
dan*_*327 24
我可以通过切换到IHostBuilder而不是使其工作IWebHostBuilder。在我的例子中,关键是调用ConfigureWebHostDefaults(或ConfigureWebHost),然后您可以在其中使用IWebHostBuilder.
这样,我就可以像以前一样使用该类来UseSerilog调用.IHostBuilderStartupIWebHostBuilder
例子:
public static void Main(string[] args)
{
// temp initial logging
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
using var app =
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webHostBuilder
=> webHostBuilder.ConfigureAppConfiguration((hostingContext, config) =>
_ = config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", false, true))
.UseStartup<Startup>())
.UseSerilog(
(hostingContext, loggerConfig) =>
loggerConfig
.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext(),
writeToProviders: true)
.Build();
app.Run();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10405 次 |
| 最近记录: |