bitsoex/bitso-java
Overview
This skill provides an RFC-27 compliant static Logback configuration for Java services, focused on clear structure, environment-specific profiles, and production-friendly output. It explains where to place logback-spring.xml, which appenders and encoders to use, and deployment practices like not committing logback.xml to version control. Use it to set up or review consistent logging across services.
How this skill works
The configuration uses a root <configuration> element with springProfile blocks to apply different appenders and log levels per environment. It includes Console and RollingFile appenders, JSON encoding for production via LogstashEncoder, and encoder patterns for development. Logger overrides and async appenders are used to control noise and minimize runtime impact.
When to use it
- Setting up logging for a new Java service using Spring Boot
- Reviewing or auditing existing logback.xml/logback-spring.xml files
- Configuring environment-specific logging (local, dev, staging, production)
- Setting up log rotation, retention, and non-blocking appenders
- Preparing logs for structured downstream processing (JSON/Logstash)
Best practices
- Place logback-spring.xml in src/main/resources and avoid committing environment-specific logback.xml files
- Use <springProfile> to separate local (human-friendly) and production (JSON) formats
- Prefer ConsoleAppender for containers and RollingFileAppender for node-level persistence
- Use LogstashEncoder for structured JSON with MDC keys (traceId, spanId) in production
- Wrap appenders with AsyncAppender for high-throughput services to avoid blocking I/O
Example use cases
- Local development: ConsoleAppender with human-readable pattern and DEBUG root level
- Production: ConsoleAppender emitting JSON via LogstashEncoder and INFO root level
- Staging: Match production logging format but allow temporary increased verbosity for troubleshooting
- Microservice with heavy library noise: Add specific logger overrides (e.g., org.apache.kafka -> WARN)
- Services requiring traceability: include MDC keys like traceId and spanId in JSON encoder
FAQ
logback-spring.xml supports Spring profiles and should be used to avoid committing environment-specific defaults into version control.
How do I include trace IDs in logs?
Add MDC keys to the encoder (e.g., includeMdcKeyName traceId and spanId) when using LogstashEncoder to ensure traceability in JSON logs.
When should I use AsyncAppender?
Use AsyncAppender for any high-throughput or latency-sensitive service to prevent blocking on I/O when writing logs.
15 skills
This skill helps you configure RFC-27 compliant logback settings for Java services, enabling environment-specific, rotation-ready logging with console and JSON
This skill helps you identify, analyze, and fix SonarQube issues remotely via MCP, improving Java code quality and gate compliance.
This skill helps you resolve Dependabot security vulnerabilities in Java/Gradle projects by applying severity-based fixes and CI-verified validation.
This skill enforces RFC-29 compliant changelogs with an Unreleased section, validating, generating from git history, and ensuring PRs are documented.
This skill creates and manages Jira tickets, discovers projects, searches existing issues, and links work across branches and PRs for efficient remediation.
This skill validates RFC-37 compliant documentation structure and synchronization, ensuring docs folders mirror code and Confluence metadata for reliable
This skill automates MCP server configuration across IDEs, assists troubleshooting, and manages discovery for streamlined development workflows.
This skill helps you implement RFC-44 compliant distributed locking using PostgreSQL or Redis to coordinate jobs across instances.
This skill helps you systematically address CodeRabbit review comments using local CLI, PR thread workflows, and co-author commit attribution.
This skill helps design and review RFC-39 compliant Java REST APIs with standardized patterns for requests, responses, errors, pagination, versioning, and
This skill helps you manage pull requests with GitHub CLI, enforcing branch protection, auto-assignments, and conventional commits.
This skill helps implement RFC-34 compliant structured logging in Java services, enabling consistent JSON logs with required fields and contextual data.
This skill helps you manage runtime log levels for Java services with RFC-27 compliant dynamic control via portal or CLI.
This skill guides migrating from AWS SDK v1 to v2 in Java projects, enabling faster adoption and modern features.
This skill upgrades Spring Boot projects to 3.5.9+ by updating dependencies and configuration for Java services, preserving compatibility and enabling new