Skip to content

dreampulse/claude-code-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Logger

A specialized HTTP/HTTPS proxy logger designed for analyzing and debugging Claude Code traffic with enhanced chat mode visualization.

🎯 Primary Purpose

This tool was built specifically to help developers understand and debug the communication between Claude Code and the Anthropic API. It provides a clean, formatted view of the conversation flow, making it easier to:

  • Debug Claude Code behavior
  • Analyze API requests and responses
  • Monitor token usage and quotas
  • Understand the structure of system prompts and tool usage
  • Archive conversations for later analysis

🚀 Quick Start (No Installation Required!)

Simply run these two commands in separate terminals:

Terminal 1 - Start the logger:

npx claude-code-logger start

Terminal 2 - Start Claude Code with proxy:

ANTHROPIC_BASE_URL=http://localhost:8000/ claude

That's it! You'll now see a beautifully formatted log of all Claude Code interactions in your terminal.

For help and options:

npx claude-code-logger start --help

✨ Features

Claude Code Specific

  • 🤖 Chat Mode: Automatically enabled by default, shows only the conversation between you and Claude
  • 📝 Markdown Rendering: AI responses are rendered with proper formatting (lists, code blocks, emphasis)
  • 🔍 System Prompt Visibility: See system reminders, file contents, and context provided to Claude
  • 🔧 Tool Usage Tracking: Monitor when Claude uses tools like file reading, editing, or web searches
  • 📊 Verbose Mode: Use -v flag to see full prompts without truncation

General Proxy Features

  • ✅ HTTP and HTTPS Support: Works with both protocols
  • ✅ Request/Response Logging: Detailed logging of all traffic
  • ✅ Body Content Logging: Optional logging of request/response bodies
  • ✅ Server-Sent Events (SSE): Proper handling and merging of streaming responses
  • ✅ Compression Support: Handles gzip, deflate, and brotli compressed responses
  • ✅ Parallel Request Handling: Efficiently handles multiple concurrent requests

📋 All CLI Options

claude-code-logger start [options]

Options:
  -p, --port <port>         Local port to listen on (default: 8000)
  -h, --host <host>         Remote host address (default: api.anthropic.com)
  -r, --remote-port <port>  Remote port (default: 443)
  --https                   Use HTTPS for remote connection (default: true)
  --local-https             Accept HTTPS connections locally (default: false)
  --log-body                Log request and response bodies (default: false)
  --merge-sse               Merge Server-Sent Events into readable messages (default: false)
  --debug                   Show debug messages for troubleshooting (default: false)
  --chat-mode               Show only chat conversation with live streaming (default: true)
  -v, --verbose             Show full prompts without truncation (default: false)

🔍 Usage Examples

Claude Code Logging (Primary Use Case)

# Basic usage - logs Claude Code conversations
npm run dev -- start
ANTHROPIC_BASE_URL=http://localhost:8000/ claude

# With full prompt visibility
npm run dev -- start --verbose
ANTHROPIC_BASE_URL=http://localhost:8000/ claude

# With debug information
npm run dev -- start --debug
ANTHROPIC_BASE_URL=http://localhost:8000/ claude

# Log to file for later analysis
npm run dev -- start 2>&1 | tee claude-session-$(date +%Y%m%d-%H%M%S).log

General Proxy Usage

# Proxy any HTTP service
npm run dev -- start -p 3000 -h example.com -r 80 --https=false --chat-mode=false

# Log all traffic with bodies
npm run dev -- start -h api.example.com --log-body --chat-mode=false

# Debug mode for troubleshooting
npm run dev -- start --debug --log-body --chat-mode=false

📸 What You'll See

In chat mode (default), the output is clean and focused:

🚀 Proxy server started on http://localhost:8000
📡 Forwarding to https://api.anthropic.com:443
📝 Logging all traffic to console...

👤 How do I read a file in Python?

🤖 To read a file in Python, you can use the built-in `open()` function. Here are the most common approaches:

### Basic File Reading

```python
# Read entire file content
with open('filename.txt', 'r') as file:
    content = file.read()
    print(content)

... (formatted markdown output) ...


## 🛠 Development

```bash
# Install dependencies
npm install

# Run in development mode
npm run dev -- start

# Build for production
npm run build

# Type checking
npm run typecheck

# Linting
npm run lint

📦 Installation Options

Option 1: Use without installation (Recommended)

npx claude-code-logger start

Option 2: Install globally

npm install -g claude-code-logger
claude-code-logger start

🤝 Contributing

Contributions are welcome! This tool is specifically designed for Claude Code, but can be extended for other use cases.

📄 License

MIT


Note: This tool is not affiliated with Anthropic. It's an independent project designed to help developers work more effectively with Claude Code.

About

Logger cli for analyzing Claude Code traffic with enhanced chat mode visualization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors