Java Logging Best Practices
Implement effective Java logging following standardized frameworks, meaningful log levels, core practices (parameterized logging, exception handling, no sensitive data), flexible configuration, security-conscious logging, monitoring and alerting, and comprehensive logging validation through testing.
What is covered in this Skill?
- Standardized framework selection: SLF4J facade with Logback or Log4j2
- Meaningful and consistent log levels: ERROR, WARN, INFO, DEBUG, TRACE
- Core practices: parameterized logging, proper exception handling, avoiding sensitive data
- Configuration: environment-specific (logback.xml, log4j2.xml), output formats, log rotation
- Security: mask sensitive data, control log access, secure transmission, GDPR/HIPAA compliance
- Log monitoring and alerting: centralized aggregation (ELK, Splunk, Loki), automated alerts
- Logging validation through testing: assert log messages, verify formats, test levels, measure performance impact
Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
Constraints
Before applying any logging recommendations, ensure the project compiles. Compilation failure is a blocking condition. After applying improvements, run full verification.
- MANDATORY: Run or before applying any change
- SAFETY: If compilation fails, stop immediately — do not proceed until resolved
- VERIFY: Run or after applying improvements
- BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each logging pattern
When to use this skill
- Improve logging
- Apply logging
- Refactor logging
- Add logging support
Reference
For detailed guidance, examples, and constraints, see references/180-java-observability-logging.md.