'use strict'; const { loggerOptions, noAWS } = require('./config'); function TestLogger() {} // intentionally disable logging during testing TestLogger.prototype.info = () => undefined; TestLogger.prototype.fatal = () => undefined; TestLogger.prototype.warn = () => undefined; // uncomment to see logs during tests // // eslint-disable-next-line no-console // TestLogger.prototype.info = () => console.log; // // eslint-disable-next-line no-console // TestLogger.prototype.fatal = () => console.error; // // eslint-disable-next-line no-console // TestLogger.prototype.warn = () => console.log; // console logging when running outside AWS function ConsoleLogger() {} // eslint-disable-next-line no-console ConsoleLogger.prototype.info = console.log; // eslint-disable-next-line no-console ConsoleLogger.prototype.fatal = console.error; // eslint-disable-next-line no-console ConsoleLogger.prototype.warn = console.log; let logger; switch (process.env.NODE_ENV) { case 'production': case 'development': if (noAWS === 'true') { logger = new ConsoleLogger(); } else { logger = require('@hw/kinesis-logger')(loggerOptions); } break; default: logger = new TestLogger(); } logger.info('Logger initialized'); module.exports = logger;