返回 Skill 列表
extension
分类: 开发与工程无需 API Key

Logging Patterns

原文未提供有效内容

person作者: jakexiaohubgithub

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