Встречается на собеседованиях • сегодня
Что нужно сделать, чтобы появился traceId в логах
Для добавления `traceId` в логи можно использовать MDC (Mapped Diagnostic Context) из SLF4J. Пример с Spring Boot и Logback:
1. Добавь фильтр для установки `traceId` (например, из HTTP-заголовка):
```java
@Component
public class TraceIdFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
String traceId = UUID.randomUUID().toString();
MDC.put("traceId", traceId);
try {
chain.doFilter(request, response);
} finally {
MDC.remove("traceId");
}
}
}
```
2. Настрой шаблон логов в `logback-spring.xml`:
```xml
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} [traceId=%X{traceId}] - %msg%n
```
Для Spring Cloud Sleuth автоматически добавляет `traceId` и `spanId` в логи через `Brave`. Просто добавь зависимость:
```xml
org.springframework.cloud
spring-cloud-starter-sleuth
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы