Регистрация в стеке, имена журналирования и регистратора - PullRequest
0 голосов
/ 03 января 2019

Я регистрируюсь в Logback и настроил приложение ведения журнала Stackdriver следующим образом:

<appender name="CLOUD" class="com.google.cloud.logging.logback.LoggingAppender">
    <log>application.log</log>
    <resourceType>generic_node</resourceType>
    <flushLevel>INFO</flushLevel>
</appender>

Записи журнала отображаются в консоли ведения журнала Stackdriver:

{
  insertId: "[...]"
  labels: {
    levelName: "INFO"
    levelValue: "20000"
  }
  logName: "[...]"
  receiveTimestamp: "2019-01-03T13:42:10.888423743Z"
  resource: {
    labels: {
      location: ""
      namespace: ""
      node_id: ""
      project_id: "[...]"
    }
    type: "generic_node"
  }
  severity: "INFO"
  textPayload: "client disconnected"
  timestamp: "2019-01-03T13:42:10.841Z"
}

Однако мне не хватает информации о регистраторе, из которого пришло сообщение журнала. В частности, предположим, что я регистрирую сообщение как это:

import org.slf4j.LoggerFactory
val log = LoggerFactory.getInstance("component-a")
log.warn("temperature in hell fell below 100°C")

Тогда я хотел бы видеть, что сообщение журнала пришло от регистратора с именем "component-a". Я не нашел упоминания о том, как этого добиться, в документации по журналу Stackdriver. Я полагаю, я мог бы настроить LoggingEnhancer для улучшения каждой записи журнала с именем регистратора, но у меня нет информации об этом регистраторе при расширении записей журнала.

Есть ли (надеюсь, "каноническое") решение для этого?

...