Troubleshooting
Quick Diagnosis
# Check container status
docker ps | grep filter
# Check recent logs
docker logs filter-severity --tail 50 2>&1 | grep -i error
# Test filtering
curl -X POST http://localhost:8080/logs \
-H "Content-Type: application/json" \
-d '{"level": "ERROR", "message": "test error"}'
Common Issues
All logs being dropped
Cause: Filter condition too strict or field name mismatch
# Check what severity values are being received
docker logs filter-severity --tail 20 2>&1 | grep -E "(level|severity)"
Fix: Normalize severity field name and case:
- mapping: |
root.severity = this.level.or(this.severity).or(this.log_level).uppercase()
Wrong logs going to alerting
Cause: Severity classification incorrect
Fix: Verify severity mapping:
- mapping: |
root.priority = match this.severity {
"CRITICAL" | "FATAL" | "EMERGENCY" => "high"
"ERROR" | "ERR" => "medium"
_ => "low"
}