Sobes.tech
Junior — Middle

Log yozuvlarida noyob izlash identifikatorini qo'shish uchun qanday harakatlar qilish mumkin?

sobes.tech AI

AIdan javob

Java'da log yozuvlariga noyob izleme identifikatori (trace ID) qo'shish uchun quyidagi yondashuvlardan foydalanish mumkin:

  • Loglash kutubxonasidan (masalan, Log4j yoki SLF4J) MDC (Mapped Diagnostic Context) foydalanish. MDC hozirgi ipga kontekst ma'lumotlarini (masalan, trace ID) bog'lash imkonini beradi va bu ma'lumotlar avtomatik ravishda log xabarlariga qo'shiladi.

  • So'rovni qayta ishlash boshlanishida noyob identifikator yaratish (masalan, UUID) va uni MDCda saqlash.

  • Log shablonini sozlash va MDC'dan trace ID ni har bir log yozuvida ko'rsatish.

SLF4J va Logback bilan misol:

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("So'rovni qayta ishlash boshlanmoqda");

        // ... qayta ishlash logikasi

        logger.info("So'rovni qayta ishlash tugadi");

        MDC.clear();
    }
}

Logger konfiguratsiyasida, chiqish shabloniga %X{traceId} qo'shilishi kerak, shunda trace ID loglarda ko'rinadi.