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».

Надеюсь, поможет.

Другие вопросы по тегам