首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将整个日志发送到Quarkus的jeager?

如何将整个日志发送到Quarkus的jeager?
EN

Stack Overflow用户
提问于 2020-07-01 05:55:16
回答 3查看 863关注 0票数 0

有没有办法将应用程序提供的std日志和错误放到span中?我想把slf4j日志放在夸克中,它应该出现在jeager中。

Quarkus日志信息

application.properties

代码语言:javascript
复制
quarkus.http.port=8200
quarkus.swagger-ui.always-include=true
quarkus.jaeger.service-name=myservice
quarkus.jaeger.reporter-log-spans=true
quarkus.jaeger.log-trace-context=true
quarkus.jaeger.propagation=jaeger
quarkus.jaeger.sampler-type=const
quarkus.jaeger.sampler-param=1
quarkus.log.console.format=%d{HH:mm:ss} %-5p traceId=%X{traceId}, spanId=%X{spanId}, sampled=%X{sampled} [%c{2.}] (%t) %s%e%n

quarkus.log.handler.gelf.enabled=true
quarkus.log.handler.gelf.host=localhost
quarkus.log.handler.gelf.port=12201

下面是我用来实现集中日志管理(ELK).For的依赖关系,我正在使用夸克夸克-集中日志管理指南提供的指南。

pom.xml

代码语言:javascript
复制
<dependencies>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-opentracing</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-validator</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-client</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-openapi</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-jackson</artifactId>
    </dependency>
    <dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-logging-gelf</artifactId>
    </dependency>
    <dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-smallrye-metrics</artifactId>
    </dependency>
  </dependencies>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-09 10:47:33

我在我的application.properties.By中添加了一个新的g亲自配置属性,我们可以用traceId和spanId发送日志到ELK堆栈。

application.properties

代码语言:javascript
复制
quarkus.http.port=8200
quarkus.swagger-ui.always-include=true
quarkus.jaeger.service-name=myservice
quarkus.jaeger.reporter-log-spans=true //This can be excluded
quarkus.jaeger.propagation=jaeger //This can be excluded
quarkus.jaeger.sampler-type=const
quarkus.jaeger.sampler-param=1
quarkus.log.console.format=%d{HH:mm:ss} %-5p traceId=%X{traceId}, spanId=%X{spanId}, sampled=%X{sampled} [%c{2.}] (%t) %s%e%n

quarkus.log.handler.gelf.enabled=true
quarkus.log.handler.gelf.host=localhost
quarkus.log.handler.gelf.port=12201
quarkus.log.handler.gelf.include-full-mdc=true //newly added property
票数 0
EN

Stack Overflow用户

发布于 2020-07-01 12:16:40

您可以@并在其中添加您自己的东西。

但我认为错误会自动登录Jaeger,但我可能错了。

票数 0
EN

Stack Overflow用户

发布于 2020-07-07 17:35:23

将日志配置为接受Jaeger属性(如for ex )之后:

quarkus.log.console.format=%d{HH:mm:ss} %-5p %c{2.} traceId=%X{traceId},spanId=%X{spanId},%X{取样} %s%e%n

然后,您需要通过以下属性将Jaeger上下文传播到日志:

Qkus.jaeger.log-trace=true quarkus.jaeger.propagation=jaeger

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62670519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档