PM2 + Winston日志管理

时间:2019-03-31 14:52:53

标签: node.js pm2 winston

我希望每天都有日志文件。我不希望他们两个都创建单独的日志文件。我只想每天有一个日志文件 基础。

示例:application-YYYY-MM-DD:HH:MM.log(日志轮播)

我该如何实现? 另外,PM2 Log Rotate不支持用于记录的时间戳。那么,如何合并这两个功能?

我附加了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来创建日志文件。

此外,我还需要文件传输和控制台传输。请检查上面的代码。

0 个答案:

没有答案