1.0.0 • Published 6 years ago
pm2-jinghuan-logrotate v1.0.0
Description
PM2 module to automatically rotate logs of processes managed by PM2. This is a forked version of original pm2-logrotate with some extended features.
New features in this forked version:
- Added new configuration flag
forcedwhich specifies if logs should be rotated onrotateIntervalcron.
All credits for the original rotator go to the pm2-logrotate authors and contributors
Install
pm2 install pm2-logrotate-extConfigure
max_size(Defaults to10M): When a file size becomes higher than this value it will rotate it (its possible that the worker check the file after it actually pass the limit) . You can specify the unit at then end:10G,10M,10Kretain(Defaults to30file logs): This number is the number of rotated logs that are keep at any one time, it means that if you have retain = 7 you will have at most 7 rotated logs and your current one.compress(Defaults tofalse): Enable compression via gzip for all rotated logsdateFormat(Defaults toYYYY-MM-DD_HH-mm-ss) : Format of the data used the name the file of logrotateModule(Defaults totrue) : Rotate the log of pm2's module like other appsworkerInterval(Defaults to30in secs) : You can control at which interval the worker is checking the log's size (minimum is1)rotateInterval(Defaults to0 0 * * *everyday at midnight): This cron is used to a force rotate when executed. We are using node-schedule to schedule cron, so all valid cron for node-schedule is valid cron for this option. Cron style :TZ(Defaults to system time): This is the standard tz database timezone used to offset the log file saved. For instance, a value ofEtc/GMT-1, with an hourly log, will save a file at hour14GMT with hour13GMT-1 in the log name.forced(Defaults totrue): Enable or disable forced rotation onrotateInterval, if set to false, rotation of the log files will occur only whenmax_sizelimit is reached.
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)How to set these values ?
After having installed the module you have to type :
pm2 set pm2-logrotate-ext:<param> <value>
e.g:
pm2 set pm2-logrotate-ext:max_size 1K(1KB)pm2 set pm2-logrotate-ext:compress true(compress logs when rotated)pm2 set pm2-logrotate-ext:rotateInterval '*/1 * * * *'(force rotate every minute)
1.0.0
6 years ago