Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    aj-geddes

    logging-best-practices

    aj-geddes/logging-best-practices
    Data & Analytics
    59

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Implement structured logging with JSON formats, log levels (DEBUG, INFO, WARN, ERROR), contextual logging, PII handling, and centralized logging...

    SKILL.md

    Logging Best Practices

    Table of Contents

    • Overview
    • When to Use
    • Quick Start
    • Reference Guides
    • Best Practices

    Overview

    Comprehensive guide to implementing structured, secure, and performant logging across applications. Covers log levels, structured logging formats, contextual information, PII protection, and centralized logging systems.

    When to Use

    • Setting up application logging infrastructure
    • Implementing structured logging
    • Configuring log levels for different environments
    • Managing sensitive data in logs
    • Setting up centralized logging
    • Implementing distributed tracing
    • Debugging production issues
    • Compliance with logging regulations

    Quick Start

    Minimal working example:

    // logger.ts
    enum LogLevel {
      DEBUG = 0, // Detailed information for debugging
      INFO = 1, // General informational messages
      WARN = 2, // Warning messages, potentially harmful
      ERROR = 3, // Error messages, application can continue
      FATAL = 4, // Critical errors, application must stop
    }
    
    class Logger {
      constructor(private minLevel: LogLevel = LogLevel.INFO) {}
    
      debug(message: string, context?: object) {
        if (this.minLevel <= LogLevel.DEBUG) {
          this.log(LogLevel.DEBUG, message, context);
        }
      }
    
      info(message: string, context?: object) {
        if (this.minLevel <= LogLevel.INFO) {
          this.log(LogLevel.INFO, message, context);
        }
      }
    
      warn(message: string, context?: object) {
    // ... (see reference guides for full implementation)
    

    Reference Guides

    Detailed implementations in the references/ directory:

    Guide Contents
    Log Levels Log Levels
    Structured Logging (JSON) Structured Logging (JSON)
    Contextual Logging Contextual Logging
    PII and Sensitive Data Handling PII and Sensitive Data Handling
    Performance Logging Performance Logging
    Centralized Logging Centralized Logging
    Distributed Tracing Distributed Tracing
    Log Sampling (High-Volume Services) Log Sampling (High-Volume Services)

    Best Practices

    ✅ DO

    • Use structured logging (JSON) in production
    • Include correlation/request IDs in all logs
    • Log at appropriate levels (don't overuse DEBUG)
    • Redact sensitive data (PII, passwords, tokens)
    • Include context (userId, requestId, etc.)
    • Log errors with full stack traces
    • Use centralized logging in distributed systems
    • Set up log rotation to manage disk space
    • Monitor log volume and costs
    • Use async logging for performance
    • Include timestamps in ISO 8601 format
    • Log business events (user actions, transactions)
    • Set up alerts for error patterns

    ❌ DON'T

    • Log passwords, tokens, or sensitive data
    • Use console.log in production
    • Log at DEBUG level in production by default
    • Log inside tight loops (use sampling)
    • Include PII without anonymization
    • Ignore log rotation (disk will fill up)
    • Use synchronous logging in hot paths
    • Log to multiple transports without need
    • Forget to include error stack traces
    • Log binary data or large objects
    • Use string concatenation (use structured fields)
    • Log every single request in high-volume APIs
    Recommended Servers
    Vercel
    Vercel
    Cloudflare Workers Observability
    Cloudflare Workers Observability
    Better Stack
    Better Stack
    Repository
    aj-geddes/useful-ai-prompts
    Files