---
name: error-logger
description: "Structured JSON logging with correlation IDs for multi-service systems. Use when implementing logging, debugging failures, or tracing errors across services. Triggers on: add logging, error handling, debug failures, trace errors."
---

# Error Logger

Structured JSON logging with correlation IDs for multi-service systems.

## When to Use

- Implementing logging infrastructure
- Debugging failures across services
- Tracing errors with correlation IDs
- Adding error handling to operations
- Reviewing logging patterns

## Workflow

### Step 1: Create Operation Context

Start operation with appropriate prefix (liq_, arb_, quo_, op_).

### Step 2: Log with Context

Include correlation ID in all related log entries.

### Step 3: Propagate Correlation ID

Pass via X-Correlation-ID header across services.

---

## Log Format
```json
{
  "timestamp": "2024-01-15T14:32:01.847Z",
  "level": "ERROR",
  "correlation_id": "liq_18d4f2a1_x7k9",
  "service": "rust-hotpath",
  "event_type": "TX_REVERT",
  "message": "Liquidation reverted",
  "context": {}
}
```

## Correlation ID

Format: `{prefix}_{timestamp_hex}_{random}`
Prefixes: `liq_`, `arb_`, `quo_`, `op_`

## Usage
```typescript
const ctx = log.startOperation('liq');
log.error(ctx, 'TX_REVERT', 'Failed', { tx_hash, gas_used });

// Propagate via HTTP
headers: { 'X-Correlation-ID': ctx.correlation_id }
```

## Log Levels

| Level | Use For |
|-------|---------|
| ERROR | Operation failures |
| WARN | Retries, recoverable |
| INFO | Normal operations |
| DEBUG | Calculations |
