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.