【问题标题】:Java SLF4J→Logback→Logstash→Datadog— Host, Service, and Source?Java SLF4J→Logback→Logstash→Datadog——主机、服务和源?
【发布时间】:2021-02-23 02:41:34
【问题描述】:

Java 应用,使用 Gradle 构建,实现 SLF4J 和 Logback,使用 Logstash 导出到 Datadog 无代理日志记录。

似乎无法获取要传输的 hostservicesource 属性:

build.gradle

implementation 'ch.qos.logback:logback-classic:1.2.3'
implementation 'net.logstash.logback:logstash-logback-encoder:6.6'
implementation 'org.slf4j:log4j-over-slf4j:1.7.13'
implementation 'org.slf4j:slf4j-api:1.7.5'

logback.xml

注意我在哪里包含了<host><service> 标签。我也试过<property name=".." value=".."><KeyValuePair key="service" value="java-app" /> 无济于事。

<appender name="JSON_TCP" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  <remoteHost>intake.logs.datadoghq.com</remoteHost>
  <service>my-favorite-service</service>
  <host>${HOSTNAME}</host>
  <port>10514</port>
  <keepAliveDuration>20 seconds</keepAliveDuration>
  <encoder class="net.logstash.logback.encoder.LogstashEncoder">
    <prefix class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
      <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>abc123abc123abc123abc123abc123 %mdc{keyThatDoesNotExist}</pattern>
      </layout>
    </prefix>
  </encoder>
</appender>

文档

这是我从 Datadog 阅读的文档:

此外,文档for logstash-logback-encoder 本身指出:

默认情况下,Logback 的 Context (ch.qos.logback.core.Context) 的每个属性都会作为一个字段出现在 LoggingEvent 中。

默认情况下,Logback 的 Context (ch.qos.logback.core.Context) 的每个属性都会作为一个字段出现在 LoggingEvent 中。

那么,如何在 Logback 的 Context 中添加一个属性呢?

【问题讨论】:

    标签: java logstash logback slf4j datadog


    【解决方案1】:

    这是我到目前为止所得到的。除了source 之外的所有内容。

    import ch.qos.logback.classic.LoggerContext;
    
    // Add context to logs
    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    lc.setPackagingDataEnabled(true);
    lc.putProperty("source", "java");
    lc.putProperty("service", "thing-doer");
    lc.putProperty("host", "prd1.do.things"));
    lc.putProperty("env", "production");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-27
      • 2016-04-20
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 2016-11-02
      • 1970-01-01
      相关资源
      最近更新 更多