Vlogger is a program that handles large amounts of virtualhost logs and splits it to separate files.
This is a short HOWTO to configure it using Apache.
sudo apt install vlogger
Make sure you have working Apache server
Change the LogFormat line (there are multiple LogFormat lines – in this example we will change the one that is named combined) in /etc/apache2/apache2.conf.
sudo vi /etc/apache2/apache2.conf
Add the string %v at the beginning of it.
#LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined LogFormat “%v %h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
Add the following CustomLog line to the same file (you can put it directly after the LogFormat line)
sudo vi /etc/apache2/apache2.conf
CustomLog “| /usr/sbin/vlogger -s access.log /var/log/apache2″ combined
NOTE: Only one CustomLog directive is neededd in the entire Apache configuration.
sudo /etc/init.d/apache2 restart
NOTE: Vlogger will now create subdirectories in the /var/log/apache2 directory, one per virtual host, and create access logs that contain the current date in the file name.
Assuming there are two virtual hosts, www.example1.com and www.example2.com.
Then this is how the /var/log/apache2 directory will look like:
ls /var/log/apache2/
returns:
www.example1.com/ 09022008-access.log 09012008-access.log access.log -> 09022008-access.log www.example2.com/ 09022008-access.log 09012008-access.log access.log -> 09022008-access.log