UNPKG

actionhero

Version:

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

46 lines (36 loc) 1.21 kB
'use strict' const winston = require('winston') module.exports = { loadPriority: 100, initialize: function (api, next) { let transports = [] let i for (i in api.config.logger.transports) { let t = api.config.logger.transports[i] if (typeof t === 'function') { transports.push(t(api, winston)) } else { transports.push(t) } } api.logger = new (winston.Logger)({transports: transports}) if (api.config.logger.levels) { api.logger.setLevels(api.config.logger.levels) } else { api.logger.setLevels(winston.config.syslog.levels) } if (api.config.logger.colors) { winston.addColors(api.config.logger.colors) } api.log = function (message, severity, data) { if (severity === undefined || severity === null || api.logger.levels[severity] === undefined) { severity = 'info' } let args = [severity, message] if (data !== null && data !== undefined) { args.push(data) } api.logger.log.apply(api.logger, args) } let logLevels = [] for (i in api.logger.levels) { logLevels.push(i) } api.log('Logger loaded. Possible levels include:', 'debug', logLevels) next() } }