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.

  1. Should I use log4j only for logging and logrotate for rotation?
  2. Use only log4j for rotation?
  3. Use a mix of both?

What is your experience? What is the best practice?

Edit
Report