function debug() { var levels = ['debug', 'info']; var index = levels.indexOf(logger.transports.console.level); index = Math.max((index + 1) % levels.length, 0); logger.transports.console.level = levels[index]; logger.debug('Log mode: ' + levels[index]); }
/** * Adjust the logging level of the default logger instance. */ export function setLoggingLevel(level) { logger.transports.console.level = level; }
logger.transports.mongodb.query(options, function (err, results) { if (err) { logger.error(err); return res.status(500).json({ success: false, errors: [err.message] }); } return res.json({ success: true, data: results }); });
export function getLogger(name) { if (loggers[name]) { return loggers[name]; } const transports = (conf.get('loggers')[name] || []).map(tconf => { const options = { ...tconf.options }; //if logging to file, insert timestamp & make sure file exists if (options.filename) { options.filename = options.filename.replace('${time}', '_' +(new Date().toISOString()).substr(0, 19).replace('T', '_').replace(/\:/g, '-')); fsExtra.ensureFileSync(options.filename); } return new (winston.transports[tconf.transport])(options); }); const logger = new (winston.Logger)({ transports: transports }); loggers[name] = logger; return logger; }
describe("logger", function () { before(function() { lf.logger.clear(); lf.logger.add(winston.transports.Memory); }); it("should exist in lambda-formation", function () { assert.isObject(lf.logger); assert.isFunction(lf.logger.log); }); it("should log only info messages by default", function () { lf.logger.log('debug', 'foobar1'); lf.logger.log('debug', 'foobar2'); lf.logger.log('info', 'foobar1'); lf.logger.log('info', 'foobar2'); assert.include(lf.logger.transports['memory'].writeOutput, 'info: foobar1'); assert.notInclude(lf.logger.transports['memory'].writeOutput, 'debug: foobar1'); }); });
// TODO: to be refactored function createLogData(level, filename, willLogToConsole, notLogToFile) { const transports = []; if (filename && !notLogToFile) { transports.push( new winston.transports.File(Object.assign( DEFAULT_COMMON_OPTIONS, { level, filename, } )) ); } if (willLogToConsole) { transports.push( new winston.transports.Console(Object.assign(DEFAULT_COMMON_OPTIONS, { level, })) ); } return { transports, }; }
const logger = new winston.Logger() logger.add(winston.transports.Console, { colorize: true, level: 'debug', logger.add(winston.transports.File, { name: 'error-file', level, break case 'warn': logger.add(winston.transports.File, { name: 'warn-file', level, break case 'info': logger.add(winston.transports.File, { name: 'info-file', level,
.Logger({ transports: [ new (winston.transports.Console)({ prettyPrint: true, timestamp: timestamp,
new winston.transports.DailyRotateFile({ filename: path.resolve(logRoot, `./${value}.access.log`), datePattern: `yyyy-MM-dd.`, let errorLog = new winston.Logger({ transports: [ new winston.transports.DailyRotateFile({ filename: path.resolve(logRoot, `./${value}.error.log`), datePattern: `yyyy-MM-dd.`,