A enhancement/wrapper around the wonderful Winston logger.
curl http://npmjs.org/install.sh | sh
[sudo] npm install nebulog
Winston is a great logger, but there were a few minor issues about it that I didn't like, or features I wish it had. The enhancements over a vanilla implementation of Winston are:
- Outputting the filename of the file from which the logging message came from.
- Aligning the logging message by adding padding after the severity level.
- Use a more JSON-like syntax when printing the metadata object.
- Allow arbitrarily many metadata objects to be logged, rather than just one.
var logger = require('nebulog').make({filename: __filename}); logger.log('info', 'Logger is working'); logger.info('This also works');
var logger = require('nebulog').make({filename: __filename, level: 'warn'}); logger.warn('This will be visible.'); logger.info("But this won't");
The log available log levels, from least serious to most serious, are:
['silly', 'verbose', 'info', 'warn', 'debug', 'error'];
var loggerA = require('nebulog').make({filename: __filename + ':A'}); var loggerB = require('nebulog').make({filename: __filename + ':B'}); function A() { loggerA.info('This log message will be marked as coming from A'); } function B() { loggerB.info('But this log message will be marked as coming from B'); }