Junior — Middle
Kādus pasākumus var veikt, lai pievienotu unikālu izsekošanas identifikatoru žurnāla ierakstos?
sobes.tech AI
Atbilde no AI
Lai pievienotu unikālu izsekošanas identifikatoru (trace ID) Java žurnāla ierakstiem, var izmantot šādus pieejas:
-
Izmantot MDC (Mapped Diagnostic Context) no žurnāla bibliotēkas (piemēram, Log4j vai SLF4J). MDC ļauj sasaistīt konteksta datus (piemēram, trace ID) ar pašreizējo pavedienu, un šie dati automātiski tiek pievienoti žurnāla ziņojumiem.
-
Ģenerēt unikālu identifikatoru procesa sākumā (piemēram, UUID) un saglabāt to MDC.
-
Konfigurēt žurnāla formātu, lai tas parādītu trace ID no MDC katrā ierakstā.
Piemērs ar SLF4J un 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("Sākas pieprasījuma apstrāde");
// ... apstrādes loģika
logger.info("Beidzas pieprasījuma apstrāde");
MDC.clear();
}
}
Žurnāla konfigurācijā ir jāpieņem %X{traceId} šablons, lai trace ID būtu redzams žurnālos.