Claude-skill-registry Logging Patterns
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/logging-patterns" ~/.claude/skills/majiayu000-claude-skill-registry-logging-patterns && rm -rf "$T"
manifest:
skills/data/logging-patterns/SKILL.mdsource content
Logging Patterns
Foundational logging practices for observable applications.
Rules
- Use structured logging (key-value pairs, not interpolated strings)
- Include request/correlation IDs in all log entries
- Log at appropriate levels (DEBUG, INFO, WARN, ERROR)
- Include enough context to debug issues without the code
- Don't log sensitive information (passwords, tokens, PII)
Pitfalls
- Logging sensitive data (passwords, API keys, PII)
- Inconsistent log levels across the codebase
- Missing correlation IDs in distributed systems
- Logging at wrong levels (DEBUG in prod, ERROR for non-errors)
Examples
// Structured logging with tracing use tracing::{info, error, instrument}; #[instrument(skip(password))] fn authenticate(user_id: &str, password: &str) -> Result<Token> { info!(user_id, "authentication attempt"); match verify_credentials(user_id, password) { Ok(token) => { info!(user_id, "authentication successful"); Ok(token) } Err(e) => { error!(user_id, error = %e, "authentication failed"); Err(e) } } }