Java Logging Best Practices
Implement effective Java logging following standardized frameworks, meaningful log levels, core practices (parameterized logging, exception handling, no sensitive data), explicit correlation context, flexible configuration, security-conscious logging, monitoring, and alerting.
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
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
./mvnw compile or mvn compile before applying any change
- SAFETY: If compilation fails, stop immediately — do not proceed until resolved
- VERIFY: Run
./mvnw clean verify or mvn clean verify 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
Workflow
- Compile project before logging changes
Run ./mvnw compile or mvn compile and stop immediately if compilation fails.
- Read logging reference and assess current observability
Read references/181-java-observability-logging.md and evaluate framework usage, log levels, sensitive-data handling, and config gaps.
- Apply logging and observability improvements
Implement selected framework/configuration/practice changes, including secure logging and monitoring integration where applicable.
- Verify with full build
Run ./mvnw clean verify or mvn clean verify after applying improvements.
Reference
For detailed guidance, examples, and constraints, see references/181-java-observability-logging.md.
1---2name: 181-java-observability-logging3description: Use when you need to implement or improve Java logging and observability — including selecting SLF4J with Logback/Log4j2, applying proper log levels (ERROR, WARN, INFO, DEBUG, TRACE), parameterized logging, correlation context, secure logging without sensitive data exposure, environment-specific configuration, log aggregation, monitoring, and alerting. This should trigger for requests such as Improve logging; Apply logging; Refactor logging; Add logging support. Part of cursor-rules-java project4license: Apache-2.05---6# Java Logging Best Practices
7
8Implement effective Java logging following standardized frameworks, meaningful log levels, core practices (parameterized logging, exception handling, no sensitive data), explicit correlation context, flexible configuration, security-conscious logging, monitoring, and alerting.
9
10**What is covered in this Skill?**
11
12- Standardized framework selection: SLF4J facade with Logback or Log4j2
13- Meaningful and consistent log levels: ERROR, WARN, INFO, DEBUG, TRACE
14- Core practices: parameterized logging, proper exception handling, avoiding sensitive data
15- Configuration: environment-specific (logback.xml, log4j2.xml), output formats, log rotation
16- Security: mask sensitive data, control log access, secure transmission, GDPR/HIPAA compliance
17- Log monitoring and alerting: centralized aggregation (ELK, Splunk, Loki), automated alerts
18
19**Scope:** The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
20
21## Constraints
22
23Before applying any logging recommendations, ensure the project compiles. Compilation failure is a blocking condition. After applying improvements, run full verification.
24
25- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change
26- **SAFETY**: If compilation fails, stop immediately — do not proceed until resolved
27- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements
28- **BEFORE APPLYING**: Read the reference for detailed good/bad examples, constraints, and safeguards for each logging pattern
29
30## When to use this skill
31
32- Improve logging
33- Apply logging
34- Refactor logging
35- Add logging support
36
37## Workflow
38
391. **Compile project before logging changes**
40
41Run `./mvnw compile` or `mvn compile` and stop immediately if compilation fails.
42
432. **Read logging reference and assess current observability**
44
45Read `references/181-java-observability-logging.md` and evaluate framework usage, log levels, sensitive-data handling, and config gaps.
46
473. **Apply logging and observability improvements**
48
49Implement selected framework/configuration/practice changes, including secure logging and monitoring integration where applicable.
50
514. **Verify with full build**
52
53Run `./mvnw clean verify` or `mvn clean verify` after applying improvements.
54
55## Reference
56
57For detailed guidance, examples, and constraints, see [references/181-java-observability-logging.md](references/181-java-observability-logging.md).