我的节点应用程序目前正在使用 Winston 进行控制台日志记录,但是在开发环境中存在各种难以调试的问题。我需要创建一个仅记录警告和错误并将日志保存到文本文件的记录器。它应该轮换间隔并在周日的每个午夜重新启动。这是我目前使用 Winston 的记录器:
'use strict';
const winston = require('winston');
const m = require('moment-timezone');
let logger = null;
/**
* Initializes the logger
* @param {object} configLogging
*/
module.exports.initialize = function initialize(configLogging) {
const dateFormat = 'dddd, MMMM Do YYYY, h:mm:ss a';
logger = new winston.Logger({
transports: [
new (winston.transports.Console)({
name: 'info-console',
level: configLogging.level,
colorize: true,
timestamp: function() { return m.utc().format(dateFormat); }
})
]
});
logger.info('Starting logging service');
};
/**
* Gets the logger instance
* @returns {LoggerInstance} winLogger
*/
module.exports.get = function get() {
return logger;
};
我听说 pm2-logrotate 应该可以做我想做的事,但我不确定如何将它集成到我的应用程序中。