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-ն երևա լոգերում։