APM Serilog 增强器编辑

此增强器将事务 ID 和跟踪 ID 添加到事务期间创建的每个 Serilog 日志消息。

安装编辑

添加对 Elastic.Apm.SerilogEnricher 包的引用

<PackageReference Include="Elastic.Apm.SerilogEnricher" Version="8.6.0" />

用法编辑

var logger = new LoggerConfiguration()
   .Enrich.WithElasticApmCorrelationInfo()
   .WriteTo.Console(outputTemplate: "[{ElasticApmTraceId} {ElasticApmTransactionId} {ElasticApmSpanId} {Message:lj} {NewLine}{Exception}")
   .CreateLogger();

属性编辑

在上面的代码片段中,Enrich.WithElasticApmCorrelationInfo() 从本项目启用增强器,它将为在事务期间创建的日志行设置 3 个属性

  • ElasticApmTraceId
  • ElasticApmTransactionId
  • ElasticApmSpanId

这两个属性使用 outputTemplate 参数打印到控制台,当然它们可以与任何接收器一起使用,您可以考虑使用文件系统接收器和 Elastic Filebeat 实现持久且可靠的摄取。此增强器还与 Elastic.CommonSchema.Serilog 包兼容。

先决条件编辑

要使此功能正常工作,需要配置 Elastic APM Agent。如果没有配置代理,增强器将不会向日志添加任何内容。