Junior — Middle
Чӣ корҳо метавонанд барои илова кардани шенасоии беназири пайгирӣ ба сабтҳои логҳо анҷом дода шаванд?
sobes.tech AI
Ҷавоб аз AI
Барои илова кардани идентификатори беназири пайгирӣ (trace ID) ба сабтҳои лог дар Java, метавонанд ба усулҳои зерин истифода шаванд:
-
Истифодаи 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 дар логҳо намоён шавад.