refactor(logs): make structured severity automatic - #474
Conversation
8e349c3 to
d747cdd
Compare
Greptile SummaryThis PR removes the configurable structured-log parsing setting and makes recognized application severity normalization automatic at stdout/stderr capture boundaries while retaining raw log bodies.
Confidence Score: 4/5The PR should not merge until collector severity normalization is restricted to application logs or the collector preserves and checks an equivalent application/system classification. The worker-runtime path retains an explicit system marker, but the Kubernetes collector now applies application-level parsing to every collected container record despite ingesting system and sidecar logs without such a marker. Files Needing Attention: crates/alien-operator/src/collector_logs.rs and crates/alien-helm/src/generator.rs
|
| Filename | Overview |
|---|---|
| crates/alien-core/src/application_logs.rs | Adds a cheap object-shaped input guard while retaining the existing recognized-level parser and conflict behavior. |
| crates/alien-worker-runtime/src/otlp.rs | Removes the parsing flag and automatically normalizes captured application output while preserving stream severity for explicitly marked system records. |
| crates/alien-operator/src/collector_logs.rs | Makes severity parsing unconditional even though this collector ingests logs from all namespace-scoped containers without an application/system distinction. |
| crates/alien-core/src/stack_settings.rs | Removes the obsolete log setting while retaining backward-compatible permissive deserialization of historical unknown fields. |
| crates/alien-cloudformation/src/generator.rs | Removes the obsolete parameter, condition, metadata, and registration setting from generated templates. |
| crates/alien-helm/src/generator.rs | Removes the obsolete operator setting, while the existing broad collector input scope exposes the unconditional normalization issue. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
P[Namespace pod logs] --> C[Fluent Bit collector]
C --> I[/operator /internal/logs/]
I --> R[CollectorLogRecord]
R --> S{Recognized JSON level?}
S -->|Yes| J[Use structured severity]
S -->|No| F[Use stdout/stderr fallback]
J --> O[OTLP storage]
F --> O
Prompt To Fix All With AI
### Issue 1
crates/alien-operator/src/collector_logs.rs:326-327
**Collector reclassifies system logs**
When a system or sidecar container emits JSON with a recognized level field, the namespace-wide collector now treats that field as application severity instead of retaining the stdout/stderr fallback, causing incorrect severity-based filtering, alerts, and display.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (2): Last reviewed commit: "refactor(logs): make structured severity..." | Re-trigger Greptile
d747cdd to
8ec098c
Compare
|
Too many files changed for review (136 files, 100 file limit). Bypass the limit by tagging |
Summary
Validation