0.2.1 • Published 5 years ago

@emdc/logger v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

@emdc/logger

Modern syntax JS logging library

Dependencies

Zero!

Note: the project uses modern JS syntax with classes and import/export/etc keywords.

Install

npm i --save @emdc/logger

Using

Example of init:

import Logger, {Handler, Formatter} from '@emdc/logger';


const logger = new Logger();

logger
  .setLevel(Logger.Level.Warning)
  .addHandler('console', new Handler.Console(new Formatter.Simple));

And using:

logger.warning('Test');   // Should write: '[warning] Test'

Levels

  • Trace — for behavior tracking at development. Value: 0.
  • Debug. Value: 10.
  • Info — information messages for users or someone else. Value: 20.
  • Warning. Value: 30.
  • Error. Value: 40.
  • Critical — crash reports after which the application closes. Value: 50.

Record format

{
  args: [string],         // argument of method logger[level](...args),
  level: string           // name of level. For example: 'warning' or 'debug'
}

Custom handlers

You should extend the Handler.Base interface. For example:

class ConsoleHandler extends BaseHandler {
  handleRecord (record) {
    if (this.formatter) {
      console.log(this.formatter.format(record));
    }
  }
}

Custom formatters

You should extend Formatter.Base interface. For example:

class SimpleFormatter extends BaseFormatter {
  format (record) {
    return `[${record.level}] ${record.args.join(', ')}`;
  }
}
0.2.1

5 years ago

0.2.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago