@8select/strulo
Version:
Log messages in a structured format.
66 lines (53 loc) • 1.96 kB
JavaScript
;
exports.__esModule = true;
exports.emergency = exports.alert = exports.critical = exports.error = exports.warning = exports.notice = exports.info = exports.debug = undefined;
var _debug = require('debug');
var _debug2 = _interopRequireDefault(_debug);
var _logLevels = require('./log-levels');
var _message = require('./message');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var logFunctions = Object.keys(_logLevels.logLevels).reduce(buildLogFunctionPerLogLevel, {});
var debug = exports.debug = function debug(message) {
logFunctions.debug(message);
};
var info = exports.info = function info(message) {
logFunctions.info(message);
};
var notice = exports.notice = function notice(message) {
logFunctions.notice(message);
};
var warning = exports.warning = function warning(message) {
logFunctions.warning(message);
};
var error = exports.error = function error(message) {
logFunctions.error(message);
};
var critical = exports.critical = function critical(message) {
logFunctions.critical(message);
};
var alert = exports.alert = function alert(message) {
logFunctions.alert(message);
};
var emergency = exports.emergency = function emergency(message) {
logFunctions.emergency(message);
};
function buildLogFunctionPerLogLevel(previousObjectWithLogFunctions, currentLogLevel) {
var _Object$assign;
return Object.assign(previousObjectWithLogFunctions, {}, (_Object$assign = {}, _Object$assign[(0, _logLevels.getLevelName)(currentLogLevel).toLowerCase()] = log(currentLogLevel), _Object$assign));
}
function log(level) {
var logger = (0, _debug2.default)((0, _logLevels.getLevelName)(level));
return function (message) {
logger((0, _message.formatMessage)(level, message));
};
}
exports.default = {
debug: debug,
info: info,
notice: notice,
warning: warning,
error: error,
critical: critical,
alert: alert,
emergency: emergency
};