Use this file to discover all available pages before exploring further.
This page covers instrumenting a Node.js application with the OpenTelemetry SDK to send logs and traces to Bronto over OTLP/HTTP via a local OTel Collector. Logs are bridged via a Winston or Pino transport — no log statement changes needed. Traces are added by configuring a tracer provider alongside the log provider.
If you don’t have a Collector and want to export directly from your application to Bronto, see Direct export to Bronto at the bottom of this page.
After running your application, open the Search page in Bronto. Filter by the dataset name you set in service.name — your log records should appear within a few seconds.If no logs appear, check:
The OTel Collector is running and reachable at the configured endpoint.
The Collector’s pipeline includes a logs pipeline with an otlp receiver and the Bronto exporter — see Connect Open Telemetry to Bronto.
otel-logging.js is required before any logger is created — the OpenTelemetryTransportV3 picks up the global LoggerProvider on instantiation.
BatchLogRecordProcessor exports on a background timer — for short-lived scripts, call loggerProvider.shutdown() before exit to flush pending records.
For Express, HTTP, gRPC, database drivers, and other popular libraries, use @opentelemetry/auto-instrumentations-node — it instruments all supported libraries automatically at startup with no code changes. Run node -r @opentelemetry/auto-instrumentations-node/register app.js or require it at the top of your entry point. See Node.js auto-instrumentation for setup details.
If you are not using an OTel Collector, export directly to Bronto by replacing the exporter configurations with the Bronto OTLP endpoints and your API key:
const logExporter = new OTLPLogExporter({ url: 'https://ingestion.eu.bronto.io/v1/logs', // or ingestion.us.bronto.io headers: { 'x-bronto-api-key': '<YOUR_API_KEY>' },});const traceExporter = new OTLPTraceExporter({ url: 'https://ingestion.eu.bronto.io/v1/traces', // or ingestion.us.bronto.io headers: { 'x-bronto-api-key': '<YOUR_API_KEY>' },});
Region
Logs endpoint
Traces endpoint
EU
https://ingestion.eu.bronto.io/v1/logs
https://ingestion.eu.bronto.io/v1/traces
US
https://ingestion.us.bronto.io/v1/logs
https://ingestion.us.bronto.io/v1/traces
See API Keys for how to create a key with ingestion permissions. No other changes to the rest of the setup are required.