UNPKG

@8select/strulo

Version:

Log messages in a structured format.

55 lines (48 loc) 1.49 kB
import createLogger from 'debug'; import { getLevelName, logLevels } from './log-levels'; import { formatMessage } from './message'; var logFunctions = Object.keys(logLevels).reduce(buildLogFunctionPerLogLevel, {}); export var debug = function debug(message) { logFunctions.debug(message); }; export var info = function info(message) { logFunctions.info(message); }; export var notice = function notice(message) { logFunctions.notice(message); }; export var warning = function warning(message) { logFunctions.warning(message); }; export var error = function error(message) { logFunctions.error(message); }; export var critical = function critical(message) { logFunctions.critical(message); }; export var alert = function alert(message) { logFunctions.alert(message); }; export var emergency = function emergency(message) { logFunctions.emergency(message); }; function buildLogFunctionPerLogLevel(previousObjectWithLogFunctions, currentLogLevel) { var _Object$assign; return Object.assign(previousObjectWithLogFunctions, {}, (_Object$assign = {}, _Object$assign[getLevelName(currentLogLevel).toLowerCase()] = log(currentLogLevel), _Object$assign)); } function log(level) { var logger = createLogger(getLevelName(level)); return function (message) { logger(formatMessage(level, message)); }; } export default { debug: debug, info: info, notice: notice, warning: warning, error: error, critical: critical, alert: alert, emergency: emergency };