Milyen műveletekkel lehet hozzáadni egy egyedi nyomkövetési azonosítót a naplóbejegyzésekhez?
sobes.tech MI
Válasz az MI-től
Az egyedi nyomon követési azonosító (trace ID) hozzáadásához a Java naplókhoz a következő megközelítéseket lehet alkalmazni:
-
A MDC (Mapped Diagnostic Context) használata a naplózó könyvtárból (például Log4j vagy SLF4J). A MDC lehetővé teszi, hogy kontextuális adatokat (például trace ID) kötözzünk az aktuális szálhoz, és ezek az adatok automatikusan hozzáadódnak a naplóüzenetekhez.
-
Egyedi azonosító generálása a kérés feldolgozásának kezdetén (például UUID) és tárolása a MDC-ben.
-
A naplózási sablon konfigurálása úgy, hogy a trace ID-t a MDC-ből jelenítse meg minden naplóbejegyzésnél.
Példa SLF4J és Logback használatával:
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("A kérés feldolgozása megkezdődött");
// ... feldolgozási logika
logger.info("A kérés feldolgozása befejeződött");
MDC.clear();
}
}
A napló konfigurációjában hozzá kell adni a %X{traceId} mintát a kimeneti mintához, hogy a trace ID megjelenjen a naplókban.