APM Serilog 增强器
编辑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。如果没有配置代理,增强器将不会向日志添加任何内容。