Java Logging Best Practices

SkillMonitoring & ops

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; Review SLF4J structured logging in Java code. Part of Plinth Toolkit

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Java Logging Best Practices skill

What this skill tells your AI

The instructions your AI receives, as published by jabrena/plinth in skills/181-java-observability-logging/SKILL.md and read by ahel’s review.

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
  • Review SLF4J structured logging in Java code

Workflow

  1. Compile project before logging changes

Run ./mvnw compile or mvn compile and stop immediately if compilation fails.

  1. 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.

  1. Apply logging and observability improvements

Implement selected framework/configuration/practice changes, including secure logging and monitoring integration where applicable.

  1. 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.

Signals

GitHub stars
439
Forks
92
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
x-181-java-observability-logging
Source
github.com/jabrena/plinth