Serilog — разделение файлов журнала с использованием идентификатора корреляции
Как разделить файл журнала на основе обогатителя идентификатора корреляции?
Я настроил обогатитель идентификатора корреляции, но хочу создавать файлы журналов на основе идентификатора корреляции. (Пример: fisjdbs-13727-hrjsb).
Он должен записать все журналы для этого идентификатора в fjsjdbs-13727-hrjsb.log.
Пожалуйста, предложите несколько подходов.
1 ответ
Вы можете сделать что-то подобное в .NET6
builder.Services.AddHttpContextAccessor();
Logger log = new LoggerConfiguration()
.ReadFrom.Configuration(builder.Configuration)
.Enrich.WithCorrelationId()
.WriteTo.Console()
.WriteTo.Map("CorrelationId", (id,wt) => wt.File($"{id}.log"))
.CreateLogger();
builder.Host.UseSerilog(log);
и вы можете видеть, что файлы генерируются на основе «CorrelationId».
Надеюсь, поможет.