在Quarkus中,默认的日志记录库是JBoss,使用quarkus-logging-json
可以将日志编码为JSON。
但是,Datadog集成需要自定义字段(例如service
,dd.span_id
和dd.trace_id
)才能使日志与正确的语法关联。
当前,我尝试将其添加到application.properties
中:
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p service=%X{myServiceName}, traceId=%X{dd.trace_id}, spanId=%X{dd.span_id} [%c{2.}] (%t) %s%e%n
但是,这似乎并没有在Datadog中出现。
使用log4j2时,我们只需像这样配置它。
Appenders:
Console:
name: Console_Appender
target: SYSTEM_OUT
JSONLayout:
KeyValuePair:
- key: service
value: myServiceName
同样,在Quarkus配置中找不到任何文档来实现相同的结果。
有人知道我如何使用Quarkus将这些自定义属性注入JSON日志中,或者如何将其与Datadog正确集成?
答案 0 :(得分:1)
我认为这里的脱节之处在于该模式需要在Jboss日志管理器中,然后将它们编码为JSON。
您是否尝试过将%X{dd.trace_id:-0} %X{dd.span_id:-0}
放入Jboss日志记录模式?
如果没有,我也建议您通过support@datadoghq.com打开票证,我们可以与您一起解决这个问题。