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
{
"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
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 |