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.
- Outputs formatted logs to console.
- Can be used together with in-built tracer for sending log spans to JAEGER
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()