gl

get-logger

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

Showing:

Popularity

Downloads/wk

257

GitHub Stars

3

Maintenance

Last Commit

2yrs ago

Contributors

2

Package

Dependencies

0

Size (min+gzip)

0.4KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

get-logger   NPM version Build Status Coveralls Status Downloads

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
  };
});

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100