Nosferatu's Pace Maker

    @opentelemetry/instrumentation-winston
    TypeScript icon, indicating that this package has built-in type declarations

    0.27.3 • Public • Published

    OpenTelemetry instrumentation for winston

    NPM Published Version dependencies devDependencies Apache License

    This module provides automatic instrumentation for injection of trace context to winston.

    Compatible with OpenTelemetry JS API and SDK 1.0+.

    Installation

    npm install --save @opentelemetry/instrumentation-winston

    Usage

    const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
    const { WinstonInstrumentation } = require('@opentelemetry/instrumentation-winston');
    const { registerInstrumentations } = require('@opentelemetry/instrumentation');
    
    const provider = new NodeTracerProvider();
    provider.register();
    
    registerInstrumentations({
      instrumentations: [
        new WinstonInstrumentation({
          // Optional hook to insert additional context to log metadata.
          // Called after trace context is injected to metadata.
          logHook: (span, record) => {
            record['resource.service.name'] = provider.resource.attributes['service.name'];
          },
        }),
        // other instrumentations
      ],
    });
    
    const winston = require('winston');
    const logger = winston.createLogger({
      transports: [new winston.transports.Console()],
    })
    logger.info('foobar');
    // {"message":"foobar","trace_id":"e21c7a95fff34e04f77c7bd518779621","span_id":"b7589a981fde09f4","trace_flags":"01", ...}

    Fields added to Winston metadata

    For the current active span, the following fields are injected:

    • trace_id
    • span_id
    • trace_flags

    When no span context is active or the span context is invalid, injection is skipped.

    Supported versions

    1.x, 2.x, 3.x

    Useful links

    License

    Apache 2.0 - See LICENSE for more information.

    Install

    npm i @opentelemetry/instrumentation-winston

    DownloadsWeekly Downloads

    57,521

    Version

    0.27.3

    License

    Apache-2.0

    Unpacked Size

    35 kB

    Total Files

    19

    Last publish

    Collaborators

    • bogdandrutu
    • dyladan