Skip to content

A node.js logging library for the RokuCommunity tools

License

Notifications You must be signed in to change notification settings

rokucommunity/logger

Repository files navigation

@RokuCommunity/logger

A node.js logger library for use in the RokuCommunity projects.

build status coverage status monthly downloads npm version license Slack

Installation

npm

npm install @rokucommunity/logger

Usage

//import the logger
const logger = require('logger');
logger.logLevel = 'trace';
logger.error('Critical failure');
logger.warn('Something might be wrong');
logger.log('Normal message');
logger.info('Might be interesting');
logger.debug('Probably not interesting');
logger.trace('Definitely not interesting');

Output:

image

Advanced Usage

Log inheritance and Prefixing

A Logger instance can inherit settings from a parent, only needing to provide settings for the values it wants to override. All loggers inherit from the base Logger that is the default export from this module.

Consider the following example:

const logger = require('./dist');
logger.log('Hello from logger');

const childLogger = logger.createLogger({prefix: '[Child]'});
childLogger.log('Hello from childLogger');

const grandchildLogger = childLogger.createLogger({prefix: '[Grandchild]'});
grandchildLogger.log('Hello from grandchildLogger');

Output:

[14:38:30.429][LOG] Hello from logger
[14:38:30.432][LOG] [Child] Hello from childLogger
[14:38:30.432][LOG] [Child][Grandchild] Hello from grandchildLogger