OpenTelemetry Logs SDK
Note: This is an experimental package under active development. New releases may include breaking changes.
OpenTelemetry logs module contains the foundation for all logs SDKs of opentelemetry-js.
Used standalone, this module provides methods for manual instrumentation of code, offering full control over recording logs for client-side JavaScript (browser) and Node.js.
It does not provide automated instrumentation of known libraries or host environment logs out-of-the-box.
Installation
npm install --save @opentelemetry/api-logs
npm install --save @opentelemetry/sdk-logs
Usage
The basic setup of the SDK can be seen as followings:
const logsAPI = require('@opentelemetry/api-logs');
const {
LoggerProvider,
SimpleLogRecordProcessor,
ConsoleLogRecordExporter,
} = require('@opentelemetry/sdk-logs');
const loggerProvider = new LoggerProvider();
loggerProvider.addLogRecordProcessor(
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
);
const logger = loggerProvider.getLogger('default');
logsAPI.logs.setGlobalLoggerProvider(loggerProvider);
const logger = logsAPI.logs.getLogger('default');
logger.emit({
severityNumber: logsAPI.SeverityNumber.INFO,
severityText: 'INFO',
body: 'this is a log record body',
attributes: { 'log.type': 'LogRecord' },
});
Config
Logs configuration is a merge of both the user supplied configuration and the default
configuration as specified in config.ts
Example
See examples/logs
Useful links
License
Apache 2.0 - See LICENSE for more information.