get-logger
v1.0.0
Published
Node.js logging facade to decouple frameworks, libraries and application code from specific logging implementations.
Downloads
11,346
Maintainers
Readme
get-logger
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
};
});