Skip to content

OpenTelemetry

Point your existing OpenTelemetry setup at LogNorth with two env vars

Already using OpenTelemetry? Two env vars and you’re done:

Terminal window
OTEL_EXPORTER_OTLP_ENDPOINT=https://logs.yoursite.com/otel
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer lgn-your-api-key

LogNorth speaks OTLP HTTP/protobuf — the default protocol for all OTel SDKs. No config changes, no extra exporters, no SDK to install.

We accept everything your app sends. We keep the logs. Traces and metrics are accepted and discarded — LogNorth does logs and errors, that’s it.

From each log record, we extract what matters:

OTel fieldLogNorth fieldNotes
bodymessageRecords without a body are skipped
timeUnixNanotimestampFalls back to observedTimeUnixNano
attributescontextFlattened key-value map
resource.attributescontextMerged (log attributes win on conflict)
severityNumberis_errorERROR and FATAL severity → error
traceIdtrace_idHex-encoded, all-zeros stripped
exception.messagecontext.errorOTel semantic convention
exception.typecontext.error_classUsed for issue grouping

A log record becomes an error if any of these are true:

  • Severity is ERROR or FATAL
  • exception.message or error.message attribute exists
  • exception.type or error.type attribute exists

Same rules as the native ingestion API.

  • Traces (/v1/traces) — accepted, discarded
  • Metrics (/v1/metrics) — accepted, discarded
  • Span IDs, flags, dropped attribute counts — not used
  • Resource attributes like service.name — stored in context, not used for routing