首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当仍然需要IWebHostBuilder.UseSerilog()时,如何处理IWebHostBuilder ()的弃用?

当仍然需要IWebHostBuilder.UseSerilog()时,如何处理IWebHostBuilder ()的弃用?
EN

Stack Overflow用户
提问于 2022-02-21 16:07:02
回答 2查看 3.1K关注 0票数 13

在serilog版本5.0.0中,UseSerilog()扩展被废弃了*用于IWebHostBuilder。但是,我仍然在使用IWebHostBuilder和Startup类(aspnetcore 6),并且IWebHostBuilder不受欢迎。

既然反对意味着未来的删除,那么我应该如何利用Serilog继续前进呢?

参考:“在带有IHostBuilder的平台上将IWebHostBuilder扩展标记为过时”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-03 16:32:23

我能够通过切换到IHostBuilder而不是IWebHostBuilder来实现这个功能。在我的例子中,关键是调用ConfigureWebHostDefaults (或者ConfigureWebHost),,然后可以在其中利用IWebHostBuilder )。

通过这种方式,我可以在IHostBuilder上调用IHostBuilder,同时仍然像以前一样使用IWebHostBuilder来使用Startup类。

示例:

代码语言:javascript
运行
复制
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();
}
票数 8
EN

Stack Overflow用户

发布于 2022-04-06 14:35:55

我解决了:

代码语言:javascript
运行
复制
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71209486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档