Back to list
cuioss

cui-logging

by cuioss

An orchestration layer for AI coding assistants (currently Claude Code) that enforces consistency, reliability, and more predictable outputs.

0🍴 0📅 Jan 17, 2026

SKILL.md


name: cui-logging description: CUI logging standards with CuiLogger, LogRecord patterns, and DSL-style LogMessages classes allowed-tools: [Read, Grep, Glob]

CUI Logging Skill

REFERENCE MODE: This skill provides reference material. Load specific standards on-demand based on current task.

CUI-specific logging standards for projects using the CUI logging framework (cui-java-tools). This skill covers CuiLogger usage, LogRecord patterns, and DSL-style LogMessages classes.

Prerequisites

This skill requires CUI library dependencies:

  • de.cuioss:cui-java-tools (CuiLogger, LogRecord)

Workflow

Step 1: Load Core Logging Standards

CRITICAL: Load these standards for any logging-related work.

Read: standards/logging-standards.md

This provides the foundational rules:

  • MUST use CuiLogger (SLF4J/Log4j FORBIDDEN)
  • MUST use LogRecord for INFO/WARN/ERROR/FATAL levels
  • Exception parameter MUST come first in all logging calls

Step 2: Load Additional Standards (As Needed)

DSL Constants Pattern (load when creating LogMessages classes):

Read: standards/dsl-constants.md

Use when: Implementing DSL-style LogMessages classes with nested static classes and @UtilityClass pattern.

LogMessages Documentation (load when documenting):

Read: standards/logmessages-documentation.md

Use when: Writing AsciiDoc documentation for LogMessages classes.

Logging Maintenance (load for migration/refactoring):

Read: standards/logging-maintenance-reference.md

Use when: Large-scale logger migration, LogRecord implementation, or maintenance work.

Key Rules Summary

CuiLogger Usage

// CORRECT
private static final CuiLogger LOGGER = new CuiLogger(MyClass.class);

// FORBIDDEN - Never use SLF4J or Log4j directly
private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);

LogRecord for Structured Messages

// CORRECT - Use LogRecord for INFO and above
LOGGER.info(INFO.getResolver().formatted("Processing completed"));
LOGGER.warn(WARN.getResolver().formatted("Resource low: %s", resourceName));
LOGGER.error(exception, ERROR.getResolver().formatted("Failed to process"));

// DEBUG/TRACE - Direct logging allowed (no LogRecord needed)
LOGGER.debug("Debug message: %s", value);

Exception Handling

// CORRECT - Exception FIRST
LOGGER.error(exception, ERROR.getResolver().formatted("Operation failed"));

// WRONG - Exception position
LOGGER.error(ERROR.getResolver().formatted("Operation failed"), exception);
  • pm-dev-java:java-core - General Java patterns (no CUI dependencies)
  • pm-dev-java-cui:cui-testing - CUI test utilities including JUL testing with LogAsserts

Standards Reference

StandardPurpose
logging-standards.mdCore CuiLogger, LogRecord rules, and compliance verification
dsl-constants.mdDSL-style constant organization
logmessages-documentation.mdAsciiDoc documentation patterns
logging-maintenance-reference.mdMigration and maintenance

Score

Total Score

70/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon