A module to enrich logs with context, featuring async log contexts and scope management.
Go to file
2018-03-03 14:11:27 +01:00
dist dependencies, first working version 2018-03-03 14:11:27 +01:00
test dependencies, first working version 2018-03-03 14:11:27 +01:00
ts dependencies, first working version 2018-03-03 14:11:27 +01:00
.gitignore initial 2017-10-16 09:07:19 +02:00
.gitlab-ci.yml dependencies, first working version 2018-03-03 14:11:27 +01:00
npmextra.json initial 2017-10-16 09:07:19 +02:00
package.json dependencies, first working version 2018-03-03 14:11:27 +01:00
readme.md dependencies, first working version 2018-03-03 14:11:27 +01:00
tslint.json initial 2017-10-16 09:07:19 +02:00
yarn.lock dependencies, first working version 2018-03-03 14:11:27 +01:00

logcontext

the logconext module exposes an easy to use syntax for nodejs style async logcontexts.

let testLogger = new logcontext.Logger('testNamespace');

testLogger.scope(async () => {
  testLogger.addData('id1', {
    someData: 'someValue'
  });
  testLogger.log('hi');
  testLogger.error(new Error('custom error message'));
  setTimeout(() => {
    outsideFunction(); // log scope will travel through callbacks and promises
  }, 2000);
});

let outsideFunction = () => {
  sgLogger.log('some message');
};

class Logger

import { Logger } from 'logcontext';

// instantiate new Logger
// argument optional, if left empty auto generated shortid will be used
let myLogger = new Logger('myNamespace');

// create a scope
myLogger.scope(async () => {
  // everything that is appended to the call stack from inside here will have all appended context data available

  // add some scoped context information
  myLogger.addData('customerId', '12345678');

  // will log something with priviously appended context of this scope in place
  myLoger.log('awesomeText');
});