Sobes.tech
Junior — Middle

Koje radnje možete preduzeti da biste dodali jedinstveni identifikator praćenja u zapise logova?

sobes.tech АИ

Одговор од АИ

Za dodavanje jedinstvenog identifikatora praćenja (trace ID) u zapise logova u Javi, mogu se koristiti sledeći pristupi:

  • Korišćenje MDC (Mapped Diagnostic Context) iz biblioteke za logovanje (npr. Log4j ili SLF4J). MDC omogućava da se kontekstualni podaci (kao što je trace ID) povežu sa trenutnim nitima, i ti podaci se automatski dodaju u log poruke.

  • Generisanje jedinstvenog identifikatora na početku obrade zahteva (npr. UUID) i njegovo čuvanje u MDC.

  • Konfiguracija šablona logovanja tako da prikazuje trace ID iz MDC u svakoj log poruci.

Primer sa SLF4J i Logback:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import java.util.UUID;

public class Example {
    private static final Logger logger = LoggerFactory.getLogger(Example.class);

    public void processRequest() {
        String traceId = UUID.randomUUID().toString();
        MDC.put("traceId", traceId);

        logger.info("Početak obrade zahteva");

        // ... logika obrade

        logger.info("Kraj obrade zahteva");

        MDC.clear();
    }
}

U konfiguraciji logera, potrebno je dodati %X{traceId} u šablon izlaza, kako bi se trace ID prikazivao u logovima.