3.0.1 • Published 5 years ago
telemetry-events-log v3.0.1
telemetry-events-log
Stability: 2 - Stable
Helper for creating and emitting TelemetryEvents for logs.
Contributors
Contents
Installation
npm install telemetry-events-log
Usage
To run the below example run:
npm run readme
"use strict";
var events = require('events');
var pkg = require('../package.json');
var TelemetryEvents = require('telemetry-events');
var LogTelemetryEvents = require('../index.js');
var emitter = new events.EventEmitter();
var telemetryEvents = new TelemetryEvents({emitter: emitter, package: pkg});
var logTelemetry = new LogTelemetryEvents({telemetry: telemetryEvents});
emitter.on('telemetry', function (event) {
console.dir(event);
});
logTelemetry.log('info', 'hello info level');
logTelemetry.log('warn', 'hello warn level');
logTelemetry.log('error', 'hello error with common data', {common: 'data'});
var _commonEventData = {
method: "readme"
};
logTelemetry.log("info",
{
common: "data with no message and no custom event data attached"
});
logTelemetry.log("info", _commonEventData,
{
custom: "data with common and custom event data attached"
});
logTelemetry.log("info", "my message", _commonEventData,
{
custom: "data with message and common and custom event data attached"
});
Tests
npm test
Documentation
LogTelemetryEvents
Public API
new LogTelemetryEvents(config)
config
: Objecttelemetry
: Object TelemetryEvents instance.
- Return: Object Instance of LogTelemetryEvents.
Creates a new LogTelemetryEvents instance.
telemetry.log(level, message, common, custom)
level
: String Log level to be used forevent.level
property.message
: String (Default: undefined) An optional message to be used forevent.message
property.common
: Object (Default: undefined) Optional common event data to clone and extend with theevent
data.custom
: Object (Default: undefined) Optional object with custom properties to add to the event.- Return: Object The event.
Helper to create and emit a "log" event. The created event will have the following properties in addition to those included by TelemetryEvents.
{
type: 'log',
level: <level>,
message: <message> // if provided
}
Any property of custom
Object will be attached to the above event template. You can also use custom
to override any of the above properties.
Releases
We follow semantic versioning policy (see: semver.org):
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.