Cronolog is log rotation program which gives you a lot of options to template the log destination files. The common use is to split logs by year / month / day.
Here is how to configure Apache to send log entries to cronolog :
CustomLog "|/usr/sbin/cronolog /home/log/apache2/%Y-%m-%d_domain.com_access.log" combined
This will create a log file named 2008-06-02_domain.com_access.log for today.
Cronolog reads log entries from standard input and writes them to the output file specified by your template.
More examples
- Rotate by month :
CustomLog "|/usr/sbin/cronolog /home/log/apache2/%Y-%m_domain.com_access.log" combined
- Rotate by week number :
CustomLog "|/usr/sbin/cronolog /home/log/apache2/%Y-%W_domain.com_access.log" combined
- Rotate hourly
CustomLog "|/usr/sbin/cronolog /home/log/apache2/%H_domain.com_access.log" combined