logify
Version:
Logging framework for node and the browser
39 lines (30 loc) • 1.14 kB
JavaScript
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = format;
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var colors = process.stdout.isTTY;
var table = {
trace: _chalk2['default'].gray,
debug: _chalk2['default'].bold.gray,
info: _chalk2['default'].white,
notice: _chalk2['default'].bold.white,
warn: _chalk2['default'].yellow,
error: _chalk2['default'].red,
critical: _chalk2['default'].bgRed.bold.white
};
function pad(str) {
return (' ' + str).slice(-8);
}
function format(entry) {
var level = entry.level || 'info';
var message = '[' + entry.time.toISOString() + ']' + pad(level.toUpperCase()) + ': ' + (entry.component || 'default') + '/' + entry.pid + ' on ' + entry.hostname + '/' + entry.arch + '-' + entry.platform + ': ' + entry.message + '\n' + (entry.error ? entry.error.stack + '\n' : '');
if (colors) {
return (table[level] || table.info)(message);
}
return message;
}
module.exports = exports['default'];