JSPM

jaeger-logger

1.0.7
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q13478F
  • License ISC

Logging / tracing library for jaeger client

Package Exports

  • jaeger-logger
  • jaeger-logger/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jaeger-logger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Jaeger Logger

You can find this package on NPM: jaeger-logger

Logging / tracing library for JAEGER client. Helps to create beautiful nested context related logs.

Installation

npm i jaeger-logger # and its ready to use =)

Basic Usage

import { Logger } from 'jaeger-logger'

const logger = new Logger('LOG_NAME')

// Add info log:
logger.info('request', { action: 'action name', data: { some_key: 'some_value' } })

// Add error log:
logger.error('error', { action: 'action name', err: e }) // e - Error instance

// After completion of writing spans, logs should be closed
logger.finish()

Usage with tracer (read more)

const logger = new Logger('traced_logs', {
  config: {
    tracerConfig: {
      useTracer: true,
      serviceName: 'api', // name of the service in Jaeger UI
      reporter: {
        logspans: true,
        collectorEndpoint: 'http://localhost:14268/api/traces', // Jaeger collector endpoint
      },
    }
  }
});

// add search tag to context:
logger.context.setTag('user_id', ctx.state?.user?._id)

// or group of tags:
logger.context.addTags({
  [opentracing.Tags.HTTP_URL]: ctx.originalUrl,
  [opentracing.Tags.HTTP_METHOD]: 'POST',
  'host': ctx.request?.headers["host"],
  'userAgent': ctx.request?.headers['user-agent'],
})

// add top level info log
logger.info('request', { action: 'action name', data: { some_key: 'some_value' } })

// create nested logger in parent logger context
const subLog = logger.getSubLogger('traced_nested_log')

// add log to sublog and close it
subLog.info('response', { data: { result: 'some result' } }).finish()

// close parent logger
logger.finish()