Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Associar trace IDs a logs de negócios Java

Última atualização: Oct 10, 2026

Associe trace IDs aos logs de negócios da sua aplicação Java para localizar rapidamente os logs relevantes por trace ID quando ocorrer um problema e resolver a falha com mais agilidade.

Pré-requisitos

Nota

Este recurso não é compatível com a edição Basic do Application Real-Time Monitoring Service (ARMS).

  • O agente deve estar na versão 2.6.1.2 ou posterior. Para mais informações, consulte Atualize o agente Java.

  • A coleta de logs deve estar configurada por meio do Simple Log Service (SLS). Para mais informações, consulte Data collection overview.

Informações de fundo

O ARMS associa trace IDs aos logs de negócios usando o mecanismo Mapped Diagnostic Context (MDC) e oferece suporte a Log4j, Log4j2 e Logback.

Ative a associação

  1. Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.

  2. Selecione uma região na barra de navegação superior e clique em na aplicação.

    Nota

    Os ícones na coluna Language indicam a linguagem de programação da aplicação:

    • Java icon: Java

    • image: Go

    • image: Python

    • - (Hífen): aplicação monitorada no Managed Service for OpenTelemetry

  3. Na barra de navegação superior, escolha Application Configuration > Custom Configurations.

  4. Na aba Custom Configurations, na seção Application Log Association Configuration, defina Log Source como SLS. Ative a chave Associate Business Logs with trace ID, selecione a região do seu projeto SLS e vincule o projeto e o Logstore.

    Se necessário, ative também as chaves Logs are automatically populated with trace ID e Logs are automatically populated with span ID.

    Os recursos Logs are automatically populated with trace ID e Logs are automatically populated with span ID exigem a versão 4.1.6 ou posterior do agente. Ao vincular o SLS, selecione um Associated Index. Especifique um índice de campo ou um índice de texto completo.

    Nota
  5. (Opcional) Associe o trace ID manualmente.

    No atributo Pattern do layout do seu log de negócios, adicione %X{EagleEye-TraceID}. Se utilizar o protocolo SkyWalking, adicione %X{Skywalking-TraceID} no lugar. Para aplicações integradas via ACK OnePilot (agente nativo do ARMS), o formato do trace ID é %X{EagleEye-TraceID}.

    Para associar também um span ID, adicione %X{span_id}.

    Importante
    • A associação de span ID requer a versão 4.x ou posterior do agente.

    • Para saber como obter {EagleEye-TraceID} no código da sua aplicação, consulte ARMS SDK for Java (Not Recommended).

    Os exemplos a seguir demonstram como modifique os arquivos de configuração para Log4j, Log4j2 e Logback:

    • Exemplo de modificação no arquivo de configuração do Log4j log4j.properties:

      log4j.appender.warn.layout=org.apache.log4j.PatternLayout
      log4j.appender.warn.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}-[%p]-(%C:%L) - traceId:%X{EagleEye-TraceID} - spanId:%X{span_id} - %m%n
    • Exemplo de modificação no arquivo de configuração do Log4j2 log4j2.xml:

      PatternLayout

      <console name="Console" target="SYSTEM_OUT">
          <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
          <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - traceId:%X{EagleEye-TraceID} - spanId:%X{span_id} - %m%n"/>
      </console>

      JsonLayout

      <JsonLayout   complete="false" compact="true" eventEol="true"
                    properties="false" locationInfo="true"
                    includeStacktrace="true" stacktraceAsString="true"
                    objectMessageAsJsonObject="true" >
          <KeyValuePair key="EagleEye-TraceID" value="${ctx:EagleEye-TraceID}" />
          <KeyValuePair key="span_id" value="${ctx:span_id}" />
      </JsonLayout>
    • Exemplo de modificação no arquivo de configuração do Logback logback.xml:

      PatternLayout

      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
          <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - traceId:%X{EagleEye-TraceID} - spanId:%X{span_id} - %msg%n</pattern>
      </encoder>

      JsonLayout

      <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
      	<providers>
      		<timestamp/>
      		<threadName/>
      		<logLevel/>
      		<loggerName/>
      		<message/>
      		<callerData/>
      		<stackTrace/>
      		<pattern>
      			<pattern>
      				{
      				"EagleEye-TraceID": "%X{EagleEye-TraceID}",
                                      "span_id": "%X{span_id}"
      				}
      			</pattern>
      		</pattern>
      	</providers>
      </encoder>
  6. Reinicie sua aplicação.

    Se o trace ID aparecer nos seus logs de negócios, a associação foi bem-sucedida. Exemplo de saída:

    2023-02-15 15:03:43-[INFO]-(com.example....HelloController:17) - traceId:ea1e0fe79b16764446      this is an info message
    2023-02-15 15:03:43-[ERROR]-(com.example....HelloController:19) - traceId:ea1e0fe79b16764446    - this is an error message
    2023-02-15 15:03:43-[WARN]-(com.example....HelloController:21) - traceId:ea1e0fe79b16764446      this is a warn message
  7. (Opcional) Configure a coleta de logs do SLS para enviar os logs da aplicação ao projeto e Logstore vinculados nas etapas anteriores.

    Por padrão, o ARMS não coleta logs de aplicação.