The logging system was designed with a framework-first mindset, ensuring:
ProjectionQuery emits logs across three logging levels, each with a clear purpose.
High-level information about query execution, useful for monitoring and production environments.
Example:
INFO ProjectionProcessor - Executing ProjectionQuery [from=Customer, to=CustomerName, distinct=false, paging=false]
INFO ProjectionProcessor - ProjectionQuery executed in 28 ms (1 results)
Provides visibility into how the query was built, without exposing sensitive data.
Example:
DEBUG ProjectionProcessor - ProjectionQuery filters summary: 0 specifications, 1 filters
DEBUG ProjectionProcessor - ProjectionQuery orders applied: 0
DEBUG ProjectionProcessor - ProjectionQuery paging applied: first=0, size=10
Low-level, step-by-step details of query construction. Ideal for deep debugging and understanding complex filter logic.
Example:
TRACE ProjectionProcessor - ProjectionQuery filter added: age GREATER_THAN_OR_EQUAL
TRACE ProjectionProcessor - ProjectionQuery filter added: OR (mainCity equal, secondaryCity equal)
TRACE ProjectionProcessor - ProjectionQuery order added: name ASC
⚠️ TRACE logs are intentionally verbose and should be enabled only for troubleshooting.
← Previous: Custom Filter Handlers · ↑ Back to top · Next → For Spring Boot users