1.0.6 • Published 11 months ago

otel-pino-transport v1.0.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
11 months ago

OpenTelemetry transport for Pino

NPM Published Version Apache License

This module provides a Transport for pino module to send Pino logging to the OpenTelemetry Logging SDK.

Compatible with OpenTelemetry JS API and SDK 1.0+.

Installation

npm install --save otel-pino-transport

Usage

This package exports the Pino transport class that is used to send records to the OpenTelemetry Logs SDK. It can be used directly when configuring a Pino logger.

For example:

const logsAPI = require('@opentelemetry/api-logs');
const {
    LoggerProvider,
    SimpleLogRecordProcessor,
    ConsoleLogRecordExporter,
} = require('@opentelemetry/sdk-logs');
const { OpenTelemetryTransport } = require('otel-pino-transport');
const pino = require('pino');


// To start a logger, you first need to initialize the Logger provider.
const loggerProvider = new LoggerProvider();
// Add a processor to export log record
loggerProvider.addLogRecordProcessor(
    new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
);
logsAPI.logs.setGlobalLoggerProvider(loggerProvider);

const transport = pino.transport({
  target: 'otel-pino-transport'
})

const logger = pino(transport)

transport.on('ready', () => {
  setInterval(() => {
    logger.info('test log')
  }, 1000)
})

Supported versions

  • pino versions >=9.0.0 <4

Useful links

License

Apache 2.0 - See LICENSE for more information.

Inspirations

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago