bem-site-logger

0.0.5 • Public • Published

Logger

Simple logger module for bem-site projects. It is simple wrapper around node console methods.

NPM

Coveralls branch Travis David David

GitHub Logo

Usage

Add logger dependency to your project:

npm install --save bem-site-logger

Add logger requirement to the code of your module:

var logger = require('bem-site-logger').createLogger(module);
logger.info('Hello World');

Advanced configuration

Your can override some default logger options by:

var options = {
        level: 'debug',
        color: false,
        useDate: false
    },
    logger = require('bem-site-logger').setOptions(options).createLogger(module);

Where available options are:

  • level - logger verbosity level. Can be one of 5 available values: 'verbose', 'debug', 'info', 'warn', 'error'. Default value is 'info'.

  • color - colorize logger messages. If this option is set to true then part of log message will be colorized to color which depends of log message level. Default value is true.

  • useDate - adds date in human readable format to log message. If this option is set to true then every log message begins with string (for example: [2015-03-28 04:25:56]) Default value is true.

API

Class methods:

  • setOptions - overrides default logger options. Attention! It overrides options for all logger instances (for all modules which requires logger module).
  • resetOptions - drops all options to their default values.
  • createLogger - create logger for given module. You can pass your module which requires logger and log message will contain last part of your module file path. It can be suitable for finding module by log message. If module value is omitted then logger own module will be taken.

Instance methods:

Creates and outputs log messages for different verbosity levels: Each method has the signature which is equal to methods of native Node console module. For example you can use formatted output:

logger.info('%s-%s', 'a', 1) //result (without prefix) will be: a-1
  • verbose - creates log message with 'verbose' verbosity level. Finally it calls itself console.log() method with generated message string.
  • debug - creates log message with 'debug' verbosity level. Finally it calls itself console.log() method with generated message string.
  • info - creates log message with 'info' verbosity level. Finally it calls itself console.info() method with generated message string.
  • warn - creates log message with 'warn' verbosity level. Finally it calls itself console.warn() method with generated message string.
  • error - creates log message with 'error' verbosity level. Finally it calls itself console.error() method with generated message string.

Also instance methods can be called in chain style, for example:

logger
   .info('hello world info')
   .debug('hello world debug')
   .warn('hello world warn')

Testing

Run tests:

npm run mocha

Run tests with istanbul coverage calculation:

npm run istanbul

Run codestyle verification (jshint and jscs)

npm run codestyle

Special thanks to:

  • Nikolay Ilchenko (http://github.com/tavriaforever)
  • Konstantinova Gela (http://github.com/gela-d)

Maintainer @tormozz48 Please send your questions and proposals to: tormozz48@gmail.com

Package Sidebar

Install

npm i bem-site-logger

Weekly Downloads

4

Version

0.0.5

License

MPL-2.0

Last publish

Collaborators

  • tormozz48
  • gela-d
  • tavriaforever