Reputation: 1757
I have a Spring project using log4j on Linux (Debian, Ubuntu and RHEL). Now I would like to implement best practice logs rotation for the log4j generated logs.
I have previously used logrotate.d for other non-java components and it worked great for me. I needed rotating by size/time and compressing the old logs and logrotate could do all of this.
I am new to log4j and now wonder how should I configure log rotation.
What is your experience? What is the best practice?
Upvotes: 12
Views: 6887
Reputation: 11746
There is no equivalent for logrotate on Windows (see https://serverfault.com/questions/358172/equivalent-of-logrotate-for-windows). So if you ever plan to run your Java application on Windows, log4j is the only option you have for configuring log rotation.
Upvotes: 0
Reputation: 2772
In general, I usually use log4j for logging and initial rotations, and I use logrotate for compression and archiving. The reason is that I try and keep the logging rules, including which file(s) to log, size, naming convention, etc. to be associated with the application. I then try and put the sysadmin type configurations, like how many to keep, when to compress, when to move to backup directory in the logrotate.
Upvotes: 6