#node.js #pm2 #winston
#node.js #pm2 #winston
Вопрос:
Я хочу иметь файлы журналов на ежедневной основе. Я не хочу, чтобы они оба создавали отдельные файлы журналов. Мне просто нужен один файл журнала на ежедневной основе.
пример: приложение-ГГГГ-ММ-ДД: ЧЧ: мм.журнал (вращение журнала)
Как я могу этого добиться? Кроме того, поворот журнала PM2 не поддерживает временные метки для ведения журнала. Итак, как я могу объединить обе функции?
Я прикрепил ecosystem.config.js а также logger.js
ecosystem.config.js
module.exports = {
apps: [{
name: 'API',
script: 'app.js',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
output: `./logs/starter-logs.log`,
error: `./logs/starter-errors.log`,
log: './logs/combined.outerr.log',
log_date_format: 'DD-MM-YYYY HH:mm:ss:SS Z',
append_env_to_name: true,
// For merging cluster mode logs
merge_logs: true,
env: {
NODE_ENV: 'development',
PORT: 3002,
MONGODB_URI: 'mongodb://localhost:27017/test'
},
env_production: {
NODE_ENV: 'production',
PORT: 3004,
}
}]
logger.js
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
format.errors({ stack: true }),
format.splat(),
format.json()
),
transports: [
new transports.File({ filename: `${logFileName}-error.log`, level: 'error' }),
new transports.File({ filename: `${logFileName}-combined.log` }),
new transports.Console(),
]
});
Нужен единый файл журнала, вместо того, чтобы PM2 создавал журналы, а Winston создавал файлы журналов.
Кроме того, мне нужен перенос файлов, а также консольный транспорт. Пожалуйста, проверьте приведенный выше код.