UNPKG

spas

Version:

spas is a pragmatic tool for bundling multiple API requests into a single request/response for the end user. spas throttles, caches, parses, filters, concatenates and minifies API responses. It serves them all up in one tidy little package resulting in fe

59 lines (51 loc) 1.78 kB
/* ## Logging ---------------------------------------------------------------------- To set logging level use command line argument "--log loglevel" The valid values for loglevel are: error - Logs SPAS errors only warn - Adds communication issues with 3rd party API's data - [default] Adds all billable transaction events (request to API's & request for bundles) info - Adds program flow (function calls, enqueued jobs, etc) debug - Adds all datapoints other than API responses and bundles verbose - Adds everything (API Responses, conmpleted bundles, etc). input - Adds all requests and parameters */ var winston = require('winston') ; // The default logging levels seem to be changing a lot so let's just set our own var loggingLevels = { levels: { input: 0, verbose: 1, debug: 2, info: 3, event: 4, warn: 5, error: 6 }, colors: { input: 'cyan', verbose: 'blue', debug: 'grey', info: 'green', event: 'white', warn: 'yellow', error: 'red' } }; /* Configure Winston logging */ var logger = new (winston.Logger)({ levels: loggingLevels.levels, colors: loggingLevels.colors, transports: [] }); // If we are running as a service then output to DailyRotateFile if (GLOBAL.config.args.spawned) { logger.add(winston.transports.DailyRotateFile, { timestamp: true, filename: process.cwd() + '/logs/spasout.log', datePattern: '.yyyy-MM-dd', level: GLOBAL.config.args.log, handleExceptions: true, exitOnError: false }); // otherwise output straight to the console } else { logger.add(winston.transports.Console, { timestamp: false, colorize: true, level: GLOBAL.config.args.log, handleExceptions: true, exitOnError: false, json: false }); } exports.winston = logger;