3.0.0-rc.10 • Published 2 years ago
@debugr/elastic v3.0.0-rc.10
Elastic Log Handler for Debugr
This LogHandler adds logging to Elastic via SDK.
Installation
npm install --save @debugr/elasticUsage
import { Logger, LogLevel } from '@debugr/core';
import { ElasticHandler } from '@debugr/elastic';
const globalContext = {
  applicationName: 'example',
};
const logger = new Logger(globalContext, [
  new ElasticHandler({
    index: 'example-app-logs',
  }),
]);
logger.setContextProperty('jobName', 'elasticTest');
logger.info('Application started.');
// should send a new entry to the `example-app-logs` index with the following content:
// {
//   level: 30,
//   message: 'Application started.',
//   ts: '2022-09-04T12:13:14Z',
//   context: {
//     applicationName: 'example',
//     jobName: 'elasticTest',
//   },
// }Options
The ElasticHandler constructor accepts a required options object as the first argument.
An instance of the Client class from the @elastic/elasticsearch SDK can be passed as the second
argument; if it is not provided, the constructor will attempt to create it using the provided options
object. So when calling the constructor with just a single argument, the options object is a union
of the log handler options defined here and the Elastic Client options.  See the @elastic/elasticsearch
package documentations for the available Client options. The available options of the handler itself
are as follows:
| Option | Type | Default | Description | 
|---|---|---|---|
| index | string,(entry: LogEntry) => string | (required) | The Elastic index to which entries will be sent. You can specify a callback to route each entry to a different index based e.g. on level. | 
| threshold | LogLevel | LogLevel.ALL | The lowest level of entries which will be logged. Any entries below this level will be ignored. | 
| bodyMapper | (entry: LogEntry) => Record<string, any> | (see description) | A callback transforming a LogEntryinto the data object to be sent to Elastic. The default mapper will leave most of the entry data as-is, except theglobalContextandtaskContextobjects which will be merged into a singlecontextobject, and thedataobject which will be serialized into JSON. | 
| errorCallback | (error: Error) => void | (see description) | A callback which will be called when sending an entry to Elastic fails. The default callback will simply log the error into the console. | 
| errorMsThreshold | number | (none) | Minimum time since last call to errorCallbackbefore calling it again. | 
3.0.0-rc.10
2 years ago
3.0.0-rc.9
2 years ago
3.0.0-rc.8
3 years ago
3.0.0-rc.7
3 years ago
3.0.0-rc.6
3 years ago