All Products
Search
Document Center

Application Real-Time Monitoring Service:Asosiasikan ID jejak dengan log bisnis Java

Last Updated:Aug 25, 2026

Asosiasikan ID jejak dengan log bisnis aplikasi Java Anda agar dapat dengan cepat menemukan log yang relevan berdasarkan ID jejak saat terjadi masalah dan mempercepat penyelesaiannya.

Prasyarat

Catatan

Fitur ini tidak didukung dalam edisi Basic Application Real-Time Monitoring Service (ARMS).

  • Agen harus versi 2.6.1.2 atau lebih baru. Untuk informasi selengkapnya, lihat Perbarui agen Java.

  • Pengumpulan log dikonfigurasi menggunakan Simple Log Service (SLS). Untuk informasi selengkapnya, lihat Ikhtisar pengumpulan data.

Informasi latar belakang

ARMS mengasosiasikan ID jejak dengan log bisnis menggunakan mekanisme Mapped Diagnostic Context (MDC) dan mendukung Log4j, Log4j2, serta Logback.

Aktifkan asosiasi

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Application Monitoring > Application List.

  2. Pilih wilayah di bilah navigasi atas, lalu klik aplikasi tersebut.

    Catatan

    Ikon pada kolom Language menunjukkan bahasa pemrograman aplikasi:

    • Java icon: Java

    • image: Go

    • image: Python

    • - (Tanda hubung): aplikasi yang dipantau di Managed Service for OpenTelemetry

  3. Di bilah navigasi atas, pilih Application Configuration > Custom Configurations.

  4. Di tab Custom Configurations, pada bagian Application Log Association Configuration, atur Log Source menjadi SLS. Aktifkan sakelar Associate Business Logs with trace ID, pilih wilayah proyek SLS Anda, lalu bind proyek dan Logstore tersebut.

    Anda juga dapat mengaktifkan sakelar Logs are automatically populated with trace ID dan Logs are automatically populated with span ID sesuai kebutuhan.

    Fitur Logs are automatically populated with trace ID dan Logs are automatically populated with span ID memerlukan agen versi 4.1.6 atau lebih baru. Saat melakukan bind ke SLS, Anda juga harus memilih Associated Index. Anda dapat menentukan indeks bidang atau indeks teks penuh.

    Catatan
  5. (Opsional) Asosiasikan ID jejak secara manual.

    Pada atribut Pattern tata letak log bisnis Anda, tambahkan %X{EagleEye-TraceID}. Jika menggunakan protokol SkyWalking, tambahkan %X{Skywalking-TraceID} sebagai gantinya. Jika Anda onboard aplikasi menggunakan ACK OnePilot (agen internal ARMS), format ID jejak adalah %X{EagleEye-TraceID}.

    Untuk juga mengasosiasikan ID rentang, tambahkan %X{span_id}.

    Penting

    Contoh berikut menunjukkan cara memodifikasi file konfigurasi untuk Log4j, Log4j2, dan Logback:

    • Contoh modifikasi file konfigurasi 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
    • Contoh modifikasi file konfigurasi 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>
    • Contoh modifikasi file konfigurasi 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. Restart aplikasi Anda.

    Jika ID jejak muncul dalam log bisnis Anda, asosiasi telah berhasil. Contoh output:

    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. (Opsional) Konfigurasikan pengumpulan log SLS untuk mengunggah log aplikasi ke proyek dan Logstore yang telah Anda bind pada langkah sebelumnya.

    Secara default, ARMS tidak mengumpulkan log aplikasi.