Using pm2-logrotate

  1. Pertama, install pm2 npm install -g pm2

  2. Install pm2-logrotate dengan pm2 install pm2-logrotate. Ingat, bukan npm install pm2-logrotate tapi pm2 install pm2-logrotate

  3. Untuk mengecek setup pm2-logrotate, kita harus set salah satu config dulu dengan pm2 set pm2-logrotate:max_size 5M

    #set log size
    pm2 set pm2-logrotate:max_size 5M
    #keep 3
    pm2 set pm2-logrotate:retain 3
    pm2 set pm2-logrotate:compress true
    pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
    #check every 900 second/5 minute
    pm2 set pm2-logrotate:workerInterval 900
    #when run rotate
    pm2 set pm2-logrotate:rotateInterval 0 0 * * *
    #enable logrotate
    pm2 set pm2-logrotate:rotateModule true
    
pm2-logrotate Full Config

pm2-logrotate Full Config


Using logrotate

  1. Buat file logrotate baru di /etc/logrotate.d, vim /etc/logrotate.d/pm2

  2. Isi dengan

    /home/username/.pm2/logs/*log {
      daily
      missingok
      rotate 3
      compress
      notifempty
      su username username
      create 660 username username
    }
    
  3. Untuk menjalankan manual, gunakan sudo logrotate -f /etc/logrotate.d/pm2 , untuk test config (dry-run) gunakan sudo logrotate -d /etc/logrotate.d/pm2


What To Choose

Karena pm2-logrotate perkembangannya berhenti, saya lebih memilih menggunakan logrotate bawaan Ubuntu. Selain lebih ringan, kita tidak perlu menginstall aplikasi tambahan