如何使用Serilog.Enrichers.MassTransit

How to use Serilog.Enrichers.MassTransit

我正在使用 MassTransit 5.3.2、MassTransit.SerilogIntegration 5.3.2 和 Serilog.Enrichers.MassTransit 1.1.0。我注意到我可以在几个地方添加 Serilog enricher。配置总线时的两个:

Bus.Factory.CreateUsingRabbitMq(fun config ->
  config.UseSerilogEnricher()
  ...
  config.ReceiveEndpoint(fun ep ->
    ep.UseSerilogEnricher()
    ...
  )
)

还有配置Serilog时的一个:

loggerConfiguration
  .Enrich.FromMassTransit()

由于我没有仔细看就找到了多种方法,我想还有更多。

我找不到任何要调用的文档(或者是否要在任何地方调用它)。要使 Serilog enricher 在所有情况下都有效,必须调用其中哪些?

作者在这里。对于那个很抱歉。我在几分钟内完成了这个,但一直没有时间记录它。

PipeConfiguratorExtensions 有一个 UseSerilogEnricher 扩展方法。它可以附加到 MT 管道上的任何位置。但是 IBusFactoryConfigurator 可能是你想放的地方。

            configurator.UseSerilog(logger);
            configurator.UseSerilogEnricher();

其次,在配置 Serilog 的任何地方配置 Enricher。