pm2-jinghuan-log
v1.0.0
Published
Module to rotate logs of every pm2 application. With some extended features.
Downloads
4
Readme
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
forced
which specifies if logs should be rotated onrotateInterval
cron.
All credits for the original rotator go to the pm2-logrotate authors and contributors
Install
pm2 install pm2-logrotate-ext
Configure
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
,10K
retain
(Defaults to30
file 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 to30
in 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 hour14
GMT with hour13
GMT-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_size
limit 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)