Maintenance in progress: we are indexing a large batch of new skills. Some pages may load slowly or briefly show no results. Nothing is lost, and everything is back to normal within the hour.

Logging Patterns

Common logging patterns and practices. This skill is designed to be included in composite skills via the 'includes' feature.

majiayu000 deaf43b 2 files · 2.0 KB Updated 567 repo stars

File contents

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)
        }
    }
}

majiayu000/claude-skill-registry-data/tree/main/data/logging-patterns commit deaf43b1f1

Frequently asked questions

npx skillmds add majiayu000/logging-patterns