catbee-logger

3.2.1 • Public • Published

catbee-logger

Build Status Code Coverage

Logger for catbee with enrichments and transports

Installation

  npm install catbee-logger 

Usage

const loggerService = require('catbee-logger');
loggerService.register(serviceLocator);

const logger = serviceLocator.resolve('logger');

Send log messages

logger.error('Error message');
logger.error('Error message', { one: '1', two: 3 });
logger.error(new Error('message')); // for stack trace

logger.fatal('Fatal message', { woooow: 'wat?' });
logger.fatal('Fatal message', { woooow: 'wat?' });
logger.fatal(new Error('Fatal error')); // for stack trace

// only fatal and error methods can take Error instance as a first arguments

logger.debug('message', { one: '1', two: 3 });
logger.trace('message', { one: '1', two: 3 });
logger.info('message', { one: '1', two: 3 });
logger.warn('message', { one: '1', two: 3 });

Enricments

Every log object can be enrich and unenrich. All enrichments are just function with log object in first argument and current message log level in second.

const enrichment = (log, level) => log.from = 'Browser';
logger.addEnrichment(enrichment);
logger.removeEnrichment(enrichment);
logger.dropEnrichments(); // remove all enrichments

Transports

Send your log object to every added transports. Transports in browser is functions with log level in first argument and log object in second. Server transports are transports for winston logger

// browser.js
const browserTransport =  (level, log) => { // send log to server or any }
logger.addTransport(browserTransport);
logger.removeTransport(browserTransport);

// server.js
// server logger is a winston wrapper and logger.addTransport = winstonLogger.add
logger.addTransport(grayLog2, grayLogOptions);
// server logger is a winston wrapper and logger.removeTransport = winstonLogger.remove
logger.removeTransport(grayLog2);


logger.dropTransports(); // remove all transports from logger

Errors

Catbee inself have event bus for system information event, which includes error event. logger in register method automatic subscribe to error event.

Package Sidebar

Install

npm i catbee-logger

Weekly Downloads

2

Version

3.2.1

License

MIT

Last publish

Collaborators

  • eugeny-dementev