Overview
Request Logger provides comprehensive request/response logging with support for structured output formats. Perfect for debugging, auditing, and observability pipelines.
Features
- Structured Logging: JSON, logfmt, or custom templates
- Field Selection: Choose which request/response fields to log
- Sampling: Configurable sampling rates for high-traffic services
- Async Writing: Non-blocking log writes for minimal latency impact
Configuration
[[agents]]
name = "request-logger"
[agents.config]
format = "json"
output = "stdout" # or file path
sample_rate = 1.0 # 100% of requests
[agents.config.fields]
request = ["method", "path", "headers.user-agent", "body_size"]
response = ["status", "latency_ms", "body_size"]
Output Example
{
"timestamp": "2024-01-15T10:30:00Z",
"method": "POST",
"path": "/api/users",
"user_agent": "Mozilla/5.0...",
"request_size": 256,
"status": 201,
"latency_ms": 45,
"response_size": 128
}