C# 如何获取Serilog以丰富日志
我已将Serilog设置为从C# 如何获取Serilog以丰富日志,c#,.net,.net-core,serilog,asp.net-core-2.2,C#,.net,.net Core,Serilog,Asp.net Core 2.2,我已将Serilog设置为从appsettings.json读取其配置: return WebHost.CreateDefaultBuilder(args) .UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); }) appsettings.json具有以下指定Enricher的相关信息: { "Serilog": { "WriteTo": [ {
appsettings.json
读取其配置:
return WebHost.CreateDefaultBuilder(args)
.UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); })
appsettings.json具有以下指定Enricher的相关信息:
{
"Serilog": {
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"pathFormat": "%WIDGETSAPIBASEDIR%\\logs\\log-{Date}.txt"
}
},
{
"Name": "Debug"
}
],
"Enrich": [ "CorrelationId" ]
}
}
生成的日志不包含属性中指定的任何数据
我已经导入了Serilog.Enrichers.CorrelationId
,但仍然没有得到任何结果
我还尝试了“丰富”:[“WithCorrelationId”]
。我还尝试了其他Enricher(“FromLogContext”、“WithMachineName”、“WithThreadId”)
,但仍然一无所获
我缺少什么?您是否添加了相关的NuGet软件包?例如,Serilog.Enrichers.Thread
?您是否将输出模板添加到args中,如“outputTemplate”:“\”{Timestamp:yyyyy-MM-dd-HH:MM:ss.fff}{124;{shortloglevel}{SourceContext}{124;{RequestId}{RequestPath}{ProviderSystem}{Message NewLine}{Exception}”,@SoumenMukherjee你是说要让enricher记录日志,我必须提供outputTemplate吗?@AngryHacker,我使用enricher和模板有一些原因,但没有模板它不起作用,我试图找出原因,但文档不是很好……我也使用了LogEnricher类。