OpenTelemetry
Point your existing OpenTelemetry setup at LogNorth with two env vars
OpenTelemetry
Section titled “OpenTelemetry”Already using OpenTelemetry? Two env vars and you’re done:
OTEL_EXPORTER_OTLP_ENDPOINT=https://logs.yoursite.com/otelOTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer lgn-your-api-keyLogNorth 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.
What We Keep
Section titled “What We Keep”From each log record, we extract what matters:
| OTel field | LogNorth field | Notes |
|---|---|---|
body | message | Records without a body are skipped |
timeUnixNano | timestamp | Falls back to observedTimeUnixNano |
attributes | context | Flattened key-value map |
resource.attributes | context | Merged (log attributes win on conflict) |
severityNumber | is_error | ERROR and FATAL severity → error |
traceId | trace_id | Hex-encoded, all-zeros stripped |
exception.message | context.error | OTel semantic convention |
exception.type | context.error_class | Used for issue grouping |
Error Detection
Section titled “Error Detection”A log record becomes an error if any of these are true:
- Severity is ERROR or FATAL
exception.messageorerror.messageattribute existsexception.typeorerror.typeattribute exists
Same rules as the native ingestion API.
What We Discard
Section titled “What We Discard”- 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