Skip to main content

Missing Log Severity

Low Signal: Logs

Problem

A service emits log records with no severity level. Severity is the standard way log tools separate routine output from trouble; without it, an error and a heartbeat look identical to filters, alerts, and dashboards.

Insights flags log records arriving without severity information.

Impact

  • “Show me errors” queries miss these records entirely.
  • Severity-based alerting can’t see problems the service is reporting.
  • Readers must parse message text to guess how serious a line is.

Example

Unclassified:

[2026-09-16 14:02:01] payment gateway timeout order=8812

Classified:

[2026-09-16 14:02:01] ERROR payment gateway timeout order=8812

How to fix

  1. Use a structured logging library’s leveled methods (logger.Error, logger.Info) instead of raw prints; severity then travels with the record.
  2. If logs pass through a Collector, map the source’s level field onto OpenTelemetry’s SeverityNumber in the pipeline.
  3. For third-party output you can’t change, add a severity-parsing rule at collection time.

Expected gains

Filtering, alerting, and severity-based retention start working for these logs, and readers can triage at a glance.

See the Insights catalog for everything Insights can detect.