在Asp.Net Core 2.1中,无法直接将配置信息写入appsettings.json文件中使用Serilog。这是因为在Asp.Net Core 2.1中,Serilog已经被集成为默认的日志提供程序,而不再依赖于appsettings.json文件。
在Asp.Net Core 2.1中,可以通过以下方式配置Serilog:
CreateDefaultBuilder
方法创建WebHostBuilder
实例,并在其中配置Serilog。示例代码如下:public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration
.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext()
.WriteTo.Console();
})
.UseStartup<Startup>();
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "File",
"Args": {
"path": "logs/log.txt",
"rollingInterval": "Day"
}
}
],
"Enrich": [ "FromLogContext" ]
}
}
在上述示例中,我们配置了Serilog的最小日志级别、日志输出目标(Console和File),以及日志的附加信息(FromLogContext)。
需要注意的是,以上配置仅适用于Asp.Net Core 2.1及更高版本。如果使用的是较早的版本,可能需要使用不同的配置方式。
推荐的腾讯云相关产品和产品介绍链接地址:
以上是关于无法从appsettings.json写入Asp.Net Core 2.1的Serilog的完善且全面的答案。
领取专属 10元无门槛券
手把手带您无忧上云