kelora 1.5.0

A command-line log analysis tool with embedded Rhai scripting
Documentation
{"timestamp":"2025-01-15T10:23:45Z","level":"INFO","service":"api-gateway","message":"Request processed successfully","request_id":"req-a1b2c3d4","user_id":42,"response_time":0.234,"status":200,"client_ip":"192.168.1.100","path":"/api/users","method":"GET","referer":"https://app.example.com","metadata":{"subscription":{"tier":"premium","expires":"2025-12-31"},"region":"us-east-1"}}
{"timestamp":"2025-01-15T10:24:12Z","level":"ERROR","service":"auth-service","message":"Connection timeout while validating user credentials","request_id":"req-e5f6g7h8","user_id":103,"response_time":5.123,"status":500,"client_ip":"10.0.5.23","path":"/api/auth/login","method":"POST","error":"ConnectionError: timeout after 5000ms","stack_trace":"at validateCredentials (auth.js:234)\n  at processLogin (handler.js:89)"}
{"timestamp":"2025-01-15T10:24:33Z","level":"INFO","service":"api-gateway","message":"User not found in database","request_id":"req-i9j0k1l2","response_time":0.156,"status":404,"client_ip":"172.16.88.5","path":"/api/users/99999","method":"GET"}
{"timestamp":"2025-01-15T10:25:01Z","level":"WARN","service":"payment-service","message":"Payment processing timeout - retrying","request_id":"req-m3n4o5p6","user_id":42,"response_time":2.567,"status":200,"client_ip":"192.168.1.100","path":"/api/payments","method":"POST","referer":"https://checkout.example.com"}
{"timestamp":"2025-01-15T10:25:18Z","level":"ERROR","service":"database","message":"Database connection pool exhausted","request_id":"req-q7r8s9t0","response_time":0.001,"error":"PoolExhausted: no available connections","severity":"critical"}
{"timestamp":"2025-01-15T10:25:45Z","level":"ERROR","service":"api-gateway","message":"Invalid JWT token provided","request_id":"req-u1v2w3x4","status":401,"client_ip":"198.51.100.77","path":"/api/admin","method":"GET","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIiwicm9sZSI6ImFkbWluIiwiZXhwIjoxNzA1MzE3NjAwfQ.dGVzdC1zaWduYXR1cmU"}
{"timestamp":"2025-01-15T10:26:02Z","level":"INFO","service":"cache-service","message":"Cache miss for key user:42:profile","request_id":"req-y5z6a7b8","response_time":0.089}
{"timestamp":"2025-01-15T10:26:23Z","level":"DEBUG","service":"api-gateway","message":"Health check passed","request_id":"req-c9d0e1f2","response_time":0.003,"status":200,"path":"/health"}
{"timestamp":"2025-01-15T10:26:44Z","level":"ERROR","service":"auth-service","message":"Unauthorized access attempt detected","request_id":"req-g3h4i5j6","user_id":999,"status":403,"client_ip":"172.16.88.6","path":"/api/admin/users","method":"DELETE","source_ip":"172.16.88.6"}
{"timestamp":"2025-01-15T10:27:05Z","level":"INFO","service":"api-gateway","message":"Request processed successfully","request_id":"req-k7l8m9n0","user_id":42,"response_time":0.456,"status":200,"client_ip":"192.168.1.100","path":"/api/profile","method":"GET","json_payload":"{\"settings\":{\"theme\":\"dark\",\"notifications\":true}}"}
{"timestamp":"2025-01-15T10:27:26Z","level":"ERROR","service":"storage","message":"File upload failed - size limit exceeded","request_id":"req-o1p2q3r4","user_id":156,"status":413,"client_ip":"198.51.100.88","path":"/api/upload","method":"POST","error":"FileSizeError: maximum size 10MB exceeded"}
{"timestamp":"2025-01-15T10:27:47Z","level":"INFO","service":"api-gateway","message":"Request processed successfully","request_id":"req-s5t6u7v8","response_time":0.234,"status":200,"client_ip":"203.0.113.50","path":"/api/search","method":"GET"}
{"timestamp":"2025-01-15T10:28:08Z","level":"WARN","service":"rate-limiter","message":"Rate limit approaching for user","request_id":"req-w9x0y1z2","user_id":42,"remaining_requests":5,"reset_time":"2025-01-15T11:00:00Z"}
{"timestamp":"2025-01-15T10:28:29Z","level":"INFO","service":"api-gateway","message":"Static content served from CDN","request_id":"req-a3b4c5d6","response_time":0.012,"status":304,"client_ip":"192.168.1.102","path":"/static/app.js"}
{"timestamp":"2025-01-15T10:28:50Z","level":"ERROR","service":"api-gateway","message":"Endpoint not found","request_id":"req-e7f8g9h0","status":404,"client_ip":"172.16.88.7","path":"/wp-admin","method":"GET"}
{"timestamp":"2025-01-15T10:29:11Z","level":"INFO","service":"analytics","message":"Report generated successfully","request_id":"req-i1j2k3l4","user_id":234,"response_time":1.789,"status":200,"client_ip":"198.51.100.99","path":"/api/analytics","method":"GET","metadata":{"report_type":"daily","date":"2025-01-15"}}
{"timestamp":"2025-01-15T10:29:32Z","level":"INFO","service":"auth-service","message":"User logged out successfully","request_id":"req-m5n6o7p8","user_id":42,"response_time":0.023,"status":200,"client_ip":"192.168.1.100","path":"/api/logout","method":"POST"}
{"timestamp":"2025-01-15T10:29:53Z","level":"INFO","service":"search-service","message":"Search query executed","request_id":"req-q9r0s1t2","user_id":178,"response_time":0.567,"status":200,"client_ip":"10.0.5.24","path":"/api/search","method":"GET"}
{"timestamp":"2025-01-15T10:30:14Z","level":"INFO","service":"api-gateway","message":"Request processed successfully","request_id":"req-u3v4w5x6","response_time":0.089,"status":200,"client_ip":"203.0.113.60","path":"/sitemap.xml"}
{"timestamp":"2025-01-15T10:30:35Z","level":"INFO","service":"order-service","message":"Order query executed","request_id":"req-y7z8a9b0","user_id":789,"response_time":1.123,"status":200,"client_ip":"192.168.1.103","path":"/api/orders","method":"GET","action":"query_orders"}
{"timestamp":"2025-01-15T10:30:56Z","level":"ERROR","service":"payment-service","message":"Payment declined by provider","request_id":"req-c1d2e3f4","user_id":456,"status":402,"client_ip":"192.168.1.104","error":"PaymentDeclined: insufficient funds","severity":"high"}
{"timestamp":"2025-01-15T10:31:17Z","level":"INFO","service":"notification-service","message":"Email notification sent","request_id":"req-g5h6i7j8","user_id":42,"from":"noreply@example.com","email":"alice@example.com"}
{"timestamp":"2025-01-15T10:31:38Z","level":"ERROR","service":"api-gateway","message":"Service unavailable","request_id":"req-k9l0m1n2","status":503,"client_ip":"10.0.5.25","path":"/api/heavy-operation","error":"ServiceUnavailable: upstream timeout"}
{"timestamp":"2025-01-15T10:31:59Z","level":"INFO","service":"api-gateway","message":"Request processed successfully","request_id":"req-o3p4q5r6","user_id":42,"response_time":0.167,"status":200,"client_ip":"192.168.1.100","path":"/api/settings","session_id":"sess-abc123"}
{"timestamp":"2025-01-15T10:32:20Z","level":"WARN","service":"auth-service","message":"Multiple failed login attempts detected","request_id":"req-s7t8u9v0","client_ip":"198.51.100.120","attempts":5,"locked":false}