Sobes.tech
Junior — Middle

Ինչ գործողություններ կարելի է կատարել տրանսպորտի նույնականացնողը ավելացնելու համար լոգ գրառումների մեջ?

sobes.tech AI

Պատասխան AI-ից

Java-ում լոգ գրառումների մեջ միավորական հետևման նույնականիչ (trace ID) ավելացնելու համար կարող եք օգտագործել հետևյալ մոտեցումները՝

  • Օգտագործել MDC (Mapped Diagnostic Context) գրանցման գրադարանի (օրինակ, Log4j կամ SLF4J)։ MDC-ն թույլ է տալիս կապել կոնտեքստային տվյալներ (օրինակ, trace ID) ընթացիկ թելին, և այդ տվյալները ավտոմատ կերպով ավելացվում են լոգ հաղորդագրություններին։

  • Ստեղծել միավորական նույնականիչ խնդրի մշակման սկզբում (օրինակ, UUID) և պահել այն MDC-ում։

  • Կարգավորել լոգավորման ձևանմուշը՝ ցուցադրելու trace ID-ն MDC-ից յուրաքանչյուր գրառման մեջ։

Օրինակ՝ SLF4J և 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("Հարցի մշակումը սկսվում է");

        // ... մշակման տրամաբանություն

        logger.info("Հարցի մշակումը ավարտվում է");

        MDC.clear();
    }
}

Լոգգերի կոնֆիգուրացիայում պետք է ավելացնել %X{traceId} արտահայտությունը՝ ելքային ձևանմուշում, որպեսզի trace ID-ն երևա լոգերում։