const loggerFormat = callerFilename => { return combine( label({ label: path.relative("dist", callerFilename) }), timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), logFormat ); }
function generateLogger(winstonConfig = {}) { if (!instance) { instance = createLogger({ level: winstonConfig.level || defaultWinstonConfig.level, format: combine( label({label: winstonConfig.label || defaultWinstonConfig.label}), timestamp(), printf(winstonConfig.format || defaultWinstonConfig.format) ), transports: [ new transports.Console() ] }) } return instance }
const logger = function(moduleName) { if (moduleName === null || moduleName.trim() === '') { moduleName = 'unknown_module' } return createLogger({ level: 'debug', // Level to log message format: combine( label({ label: moduleName }), format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' // Local time by timezone }), customFormat ), transports: [ transport ] }); }
const logger = caller => { return createLogger( { transports: [ new transports.Console({level: "debug", colorize: true}), new transports.File({ filename: path.join(logDir, "output.log"), level: "debug" }), new transports.File({ filename: path.join(logDir, "error.log"), level: "error" }) ], format: format.combine( format.label({label: path.basename(caller)}), format.timestamp({format: "YYYY-MM-DD HH:mm:ss"}), format.printf(info => `[${info.timestamp}] [${info.label}] [${info.level}]: ${info.message}`) ) }); }
/** * Combine log formatters based on environment. * TODO (@swaagie) this might need a k8 pod label as well * * @returns {Object} Combined formats. * @private */ format() { if (this.local) { return format.combine( reduxLogger(), format.colorize(), format.splat(), format.simple() ); } // // Remark (@indexzero): in the event that redux logging is not // turned off (i.e. configureMakeStore({ reducers })) AND level // is manually set to 'debug' not having `inlineColors` here // may cause issues. // return format.combine( format.splat(), format.label({ label: this.prefix }), format.json() ); }
format.label({ label: Log.prefix }), format.json() ]);
winston.loggers.add('http', { format: format.combine( format.colorize(), format.label({ label: '[http]' }), format.timestamp({format:"YYYY-MM-DD HH:MM:SS"}), format.printf( info => `${info.message}` ) ), transports: [ new winston.transports.File({ level: 'debug', filename: './logs/http.log', handleExceptions: true, maxsize: 10485760, maxFiles: 5 }), new winston.transports.Console({ level: loglevel, handleExceptions: true }) ] });
function getLogger({ module, name }) { let label = null; if (module) { label = module.filename .split('/') .slice(-2) .join('/'); } else { label = name || ''; } return createLogger({ transports: [ new transports.File({ format: format.combine(format.label({ label }), format.splat(), customPrintf()), ...options.file }), new transports.Console({ ...options.console, format: format.combine( format.label({ label }), format.colorize(), format.splat(), format.json({ space: 2 }), customPrintf() ) }) ] }); }
const options = (prefix) => ({ level: 'debug', format: format.combine( format.label({ label: path.basename(prefix) }), format.colorize({ colors }), format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.printf((info) => `${info.timestamp} ${info.level} [${info.label}]: ${info.message}`) ), transports: [ new transports.Console(), new transports.DailyRotateFile({ filename: 'logs/server/%DATE%/combined.log', datePattern: 'DD-MMM-YYYY', level: 'debug', format: format.combine(format.uncolorize()), }), new transports.DailyRotateFile({ filename: 'logs/server/%DATE%/errors.log', datePattern: 'DD-MMM-YYYY', level: 'error', format: format.combine(format.uncolorize()), }), ], })
winston.loggers.add('pagermon', { format: format.combine( format.colorize(), format.label({ label: '[pmon]' }), format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}), format.prettyPrint(), format.printf( info => `${info.label} ${info.timestamp} ${info.level} : ${info.message}` ) ), transports: [ new winston.transports.File({ level: loglevel, filename: './logs/pagermon.log', handleExceptions: true, maxsize: 10485760, maxFiles: 5 }), new winston.transports.Console({ level: loglevel, handleExceptions: true }) ] });
const logger = function(moduleName) { if (moduleName === null || moduleName.trim() === '') { moduleName = 'unknown_module' } return createLogger({ level: 'debug', format: combine( label({ label: moduleName }), timestamp({ format: 'YYYY-MM-DD HH:mm:ss' // Local time by timezone }), myFormat ), transports: [ //new transports.Console(), //new transports.File({ filename: 'D:/logs/error.log', level: 'error' }), new transports.File({ filename: path.join('D:/logs', 'debug.log') }), ] }); }
const logger = function(moduleName) { if (moduleName === null || moduleName.trim() === '') { moduleName = 'unknown_module' } return createLogger({ level: 'debug', // Level to log message format: combine( label({ label: moduleName }), format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' // Local time by timezone }), customFormat ), transports: [ transport ] }); }
winston.loggers.add('auth', { format: format.combine( format.colorize(), format.label({ label: '[auth]' }), format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}), format.prettyPrint(), format.printf( info => `${info.label} ${info.timestamp} ${info.level} : ${info.message}` ) ), transports: [ new winston.transports.File({ level: loglevel, filename: './logs/auth.log', handleExceptions: true, maxsize: 10485760, maxFiles: 5 }), new winston.transports.Console({ level: loglevel, handleExceptions: true }) ] });
winston.loggers.add('db', { format: format.combine( format.colorize(), format.label({ label: '[db]' }), format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}), format.prettyPrint(), format.printf( info => `${info.label} ${info.timestamp} ${info.level} : ${info.message}` ) ), transports: [ new winston.transports.File({ level: loglevel, filename: './logs/db.log', handleExceptions: true, maxsize: 10485760, maxFiles: 5 }), new winston.transports.Console({ level: loglevel, handleExceptions: true }) ] });
/** * Combine log formatters based on environment. * TODO (@swaagie) this might need a k8 pod label as well * * @returns {Object} Combined formats. * @private */ format() { if (this.local) { return format.combine( reduxLogger(), format.colorize(), format.splat(), format.simple() ); } // // Remark (@indexzero): in the event that redux logging is not // turned off (i.e. configureMakeStore({ reducers })) AND level // is manually set to 'debug' not having `inlineColors` here // may cause issues. // return format.combine( format.splat(), format.label({ label: this.prefix }), format.json() ); }