get-logger

Node.js logging facade to decouple frameworks, libraries and application code from specific logging implementations.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
get-logger
321.0.07 years ago7 years agoMinified + gzip package size for get-logger in KB

Readme

Node.js logging facade to decouple frameworks, libraries and application code from specific logging implementations.
Installation | Usage | API | Changelog
get-logger is a facade for Node.js logging implementations like bunyan
, pino, debug and others with the following goal:
Framework and library authors, as well as application developers, must be capable of adding logging to their code without relying on specific logging implementation.
This means that get-logger is only a small facade over existing logging implementations. It defines a very small API surface area and a few contracts that logging implementations should support. All advanced features such as setting an active log level, defining output streams and the output format is left to the chosen logging implementation.
By default, get-logger will log to the console.

Installation

yarn add get-logger
# -or-
npm install --save get-logger

Usage

get-logger is most helpful because your Node.js modules don't have to rely on specific logging implementations. Because of this, logging implementations can easily be changed. Furthermore, editor and IDEs can auto-generate these logger require statements.
const logger = require('get-logger')('<nameOfYourModule>');

Loggers support the following log levels and format strings:
logger.debug('Power level over %d!', 8000);
logger.info('One does not simply build a %s tool', 'chat');
logger.warn({foo: 'think-of-something-better-than-foo'});
logger.error('Sorry folks!', {error: 'ENOTFOUND'})

At last, to configure get-logger to use a specific logging implementation, set the logger provider using setLoggerProvider(name: string): Logger.
require('get-logger').setLoggerProvider(name => {
  return {
    debug,
    info,
    warn,
    error
  };
});