Correlating Logs and Traces
Connect logs to trace context.
Correlating Logs and Traces is a free Spring Boot 4 Microservices & REST APIs lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Spring Boot 4 Microservices & REST APIs learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Linking logs to traces
Traces show the request flow; logs show the details. Putting the traceId into every log line lets you jump from a trace to its exact logs - and vice versa.
What is MDC?
MDC (Mapped Diagnostic Context) is a per-thread key/value map provided by SLF4J/Logback. Values placed in it can be printed in every log line by the layout pattern.
Micrometer populates the MDC
Micrometer Tracing automatically puts the current traceId and spanId into the MDC, so they are available to the logging framework without manual code.
Adding IDs to the log pattern
Reference the MDC keys in your Logback pattern so each line carries the IDs.
# logback-spring.xml pattern
# %d{ISO8601} [%X{traceId:-},%X{spanId:-}] %-5level %logger - %msg%nSpring Boot default pattern
Spring Boot can inject the IDs for you. Setting the application name enables the default correlation pattern that prepends [app,traceId,spanId] to logs.
spring:
application:
name: order-service
# logs become: [order-service,4bf9...,00f0...] INFO ...A correlated log line
The result looks like this - the bracketed IDs tie the line to a specific trace and span.
// 2026-05-30 10:00:00 [order-service,4bf92f35...,00f067aa...] INFO c.a.OrderService - Order placedSearching by traceId
With IDs in logs, your log aggregator (ELK, Loki, etc.) can filter by traceId. Copy an id from Zipkin, paste it into the log search, and see every related log line.
Custom baggage in logs
You can also surface baggage (e.g. tenant id) in logs by mapping a baggage field into the MDC, enriching every line with business context.
management:
tracing:
baggage:
correlation:
fields: tenantIdTwo-way navigation
The goal is bidirectional: from a slow span in Zipkin -> open its logs by traceId; from an error log -> open its trace in Zipkin. This dramatically speeds up debugging.
Keep IDs out of business logs by accident
Because IDs come from MDC, they appear only when a trace is active. Background threads without a trace context show empty IDs (%X{traceId:-} renders blank) - which is expected.
Structured logging
For best results emit logs as JSON with traceId/spanId as proper fields, so log tools can index and link them reliably instead of parsing text.
Quick Check
Test your correlation knowledge.
Recap
You correlated logs and traces:
- Micrometer puts
traceId/spanIdinto the MDC - Reference them in the Logback pattern (or use Boot's default)
- Search logs by traceId to jump between traces and logs
- Prefer structured JSON logs for reliable indexing
Frequently asked questions
Is the “Correlating Logs and Traces” lesson free?
Yes — the full text of “Correlating Logs and Traces” is free to read here on the web, and the Spring Boot 4 Microservices & REST APIs course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Spring Boot 4 Microservices & REST APIs course, upgrade to CoddyKit PRO.
What will I learn in “Correlating Logs and Traces”?
Connect logs to trace context. You practise Spring Boot 4 Microservices & REST APIs with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Spring Boot 4 Microservices & REST APIs?
No prior experience is required. Spring Boot 4 Microservices & REST APIs on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Correlating Logs and Traces” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Spring Boot 4 Microservices & REST APIs lesson?
Yes. Every Spring Boot 4 Microservices & REST APIs lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Why Distributed Tracing Matters
- Micrometer Tracing
- Exporting Traces to Zipkin
- Correlating Logs and Traces