Skip to content

bragma/pm2-logrotate-imp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pm2-logrotate-imp

An opinionated and hopefully improved log rotator for pm2, inspired on the original pm2-logrotate module.

This log rotator starts as a spin-off of the official pm2-logrotate module and will diverge to support more configuration options. All credits for the original rotator go to the pm2-logrotate authors and contributors.

Installation

Tested on node-5.10.x, requires pm2.

  pm2 install pm2-logrotate-imp

Improved rotation

Lower memory footprint, less CPU usage and quicker rotations

This rotator can use pm2's reloadLogs to handle log files without copying content. Use "rotation_mode" configuration property to enable it.

Notice that due to this issue, pm2 does not reload its own logs. As a workaround, pm2's own logs are rotated using the "copytruncate" method.

Configuration

There are several values you can change in this module:

  • "interval_unit": A unit of time in the formats supported by Moment.js. Default is 'd' (days).
  • "interval": An amount of time expressed in "interval_unit" units ather which files will be rotated. Default is 7.
  • "max_size": A maximum file size that will cause forced rotation of the files, in filesize-parser format. Default is "10M".
  • "retain": Number of rotated files to retain, or 'none' to never delete files. Defaults to 'none'.
  • "date_mode": Date mode used in rotated file names. Valid values are 'utc' for UTC time or 'system' for local system time. Defaults to 'system'.
  • "date_format": A string in the formats supported by Moment.js. Default is 'YYYY-MM-DD_HH-mm-ss'
  • "rotation_mode": Changes the way log files are rotated, "copytruncate" or "reload". "copytruncate" creates a new file and copies content from the original log file. Once completed, the original log file is truncated. "reload" renames the original log file, then asks pm2 to restart logging. Since this does not involve copying data, it is faster. Default is "reload".

After having installed the module:

  pm2 set pm2-logrotate-imp:<param> <value>

Examples:

  pm2 set pm2-logrotate-imp:max_size 1M
  pm2 set pm2-logrotate-imp:interval_unit months

Sets max file size for starting rotation to 1 MB and time units to months.

To get the current configuration, use:

  pm2 get pm2-logrotate-imp:max_size

About

An opinionated and hopefully improved log rotator for pm2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published