【发布时间】:2020-02-12 18:46:54
【问题描述】:
我在启动构造函数期间在 ASP.NET Core 中生成自定义配置,如下所示:
public Startup(IWebHostEnvironment environment, IConfiguration configuration) {
Environment = environment;
// Add extra config - configs added later override ones added earlier when key names clash
Configuration = new ConfigurationBuilder()
.AddConfiguration(configuration)
.AddXmlFile("appsettings.xml")
.Build();
}
我的问题是,虽然这个新的IConfiguration 可以从ConfigureServices 和Configure 访问,但不能从CreateHostBuilder (Program.cs) 中的.UseSerilog() 调用访问。所以,我在打电话时无法访问我的 XML 配置:
webBuilder
.UseStartup<Startup>()
.UseSerilog((context, config) => {
config.ReadFrom.Configuration(context.Configuration);
});
我该如何解决这个问题?我可以将新配置提供给UseSerilog() lambda,还是可以稍后在ConfigureServices() 中配置记录器?
【问题讨论】:
标签: c# asp.net-core serilog