winston.add(winston.transports.File, { filename: `${config.logs.path}/scrapoxy_${moment().format('YYYYMMDD_HHmmss')}.log`, json: false,
/** * Stop logging to a file */ static deactivateFileLogging() { winston.remove(winston.transports.File); }
/** * Start logging to a file * @param {string} filename */ static setFileLogging(filename) { filename = logDir + filename; if (!filename.endsWith(logExt)) { filename += logExt; } console.log(`${chalk.bgMagenta.bold('[LOG] Starting log file:' + filename)}`); winston.add(winston.transports.File, { filename, timestamp: true }); }
init () { let logLevel = this.logLevel; this.client = new (winston.Logger)({ transports: [ new (winston.transports.Console)({ timestamp: function() { return moment().format('YYYY-MM-DD HH:mm:ss'); }, colorize: true, level: logLevel }), new (winston.transports.File)({ filename: this.logPath + '/' + this.logFile, level: 'error', json: false }) ] }); }
const createTransports = function (config) { const customTransports = []; // setup the file transport if (config.file) { // setup the log transport customTransports.push( new transports.File({ filename: config.file, level: config.level }) ); } // if config.console is set to true, a console logger will be included. if (config.console) { customTransports.push( new transports.Console({ level: config.level }) ); } return customTransports; }
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') }), ] }); }
//将日志按日期划分开来,方便删除,分析等 setInterval(function(){ var now = new Date(); //console.log('yep'); if(now.getHours() == 10) { var filename = '../logs/debug/debug-logs'+getDateString(now)+'.log'; //console.log(filename); logger.remove('debug-file'); logger.add(winston.transports.File,{ level: 'debug', name: 'debug-file', filename: filename, timestamp:true, json: false, colorize: true }); } },60*60*1000);
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}`) ) }); }
winston.createLogger({ level:"debug", transports: [ new winston.transports.File({ level: 'info', filename: logDir + '/logs.log', handleExceptions: true, json: true, maxsize: 5242880, maxFiles: 5, format: winston.format.combine( winston.format.timestamp(), winston.format.align(), winston.format.printf((info) => { const { timestamp, level, message, ...args } = info; const ts = timestamp.slice(0, 19).replace('T', ' '); return `${ts} [${level}]: ${message} ${Object.keys(args).length ? JSON.stringify(args, null, 2) : ''}`; }) ) }) ], exitOnError: false })
winston.createLogger({ transports: [ new (winston.transports.File)({ name:'file info', filename: 'logs/'+filename, level: 'info', timestamp: function() { return _MOMENT().format('YYYY-MM-DDTHH:mm:ss'); } }) ] })
function getLogger (logFilename) { return new winston.Logger({ transports: [ new winston.transports.File({ level: 'info', filename: logFilename, handleExceptions: true, json: false, maxsize: 5242880, // 5MB maxFiles: 5, colorize: false }) ], exitOnError: false }); }