UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

44 lines (43 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.log = exports.loggers = void 0; const winston = require("winston"); const config_1 = require("./config"); const utils_1 = require("./utils"); exports.loggers = []; config_1.config.general.paths.log.forEach((p) => { try { utils_1.utils.fileUtils.createDirSafely(p); } catch (error) { if (error.code !== "EEXIST") { throw error; } } }); exports.loggers = config_1.config.logger.loggers.map((loggerBuilder) => { const resolvedLogger = loggerBuilder(config_1.config); return winston.createLogger(resolvedLogger); }); /** * Log a message, with optional metadata. The message can be logged to a number of locations (stdio, files, etc) as configured via config/logger.js * The default log levels are: `7=debug` `6=info` `5=notice` `4=warning` `3=error` `2=crit` `1=alert` `0=emerg` * Learn more at https://github.com/winstonjs/winston * * the most basic use. Will assume 'info' as the severity: `log('hello')` * custom severity: `log('OH NO!', 'warning')` * custom severity with a metadata object: `log('OH NO, something went wrong', 'warning', { error: new Error('things are busted') })` */ function log(message, severity = "info", data) { exports.loggers.map((logger) => { if (logger.levels[severity] === undefined) { severity = "info"; } const args = [severity, message]; if (data !== null && data !== undefined) { args.push(data); } return logger.log.apply(logger, args); }); } exports.log = log;