man vlogger (Commandes) - flexible log rotation and usage tracking in perl


vlogger - flexible log rotation and usage tracking in perl


vlogger [OPTIONS]... [LOGDIR]


Vlogger is designed to make webserver log rotation simple and easy to manage. It deals with VirtualHost logs automatically, so only one directive is required to manage all hosts on a webserver. Vlogger takes piped output from Apache or another webserver, splits off the first field, and writes the logs to logfiles in subdirectories. It uses a filehandle cache to avoid resource limitations. It will start a new logfile at the beginning of a new day, and optionally start new files when a certain filesize is reached. It can maintain a symlink to the most recent log for easy access. Optionally, host parsing can be disabled for use in ErrorLog directives.

To use vlogger, you need to add a %v to the first part of your LogFormat:

LogFormat %v CW%h CW%l CW%u CW%t \%r\ %>s CW%b \%{Referer}i\ \%{User-Agent}i\"" combined

Then call it from a customlog:

CustomLog | /usr/sbin/vlogger -s access.log -u www-logs -g www-logs /var/log/apache combined


Options are given in short format on the command line.

-a Do not autoflush files. This may improve performance but may break logfile analyzers that depend on full entries in the logs.

-e ErrorLog mode. In this mode, the host parsing is disabled, and the file is written out using the template under the specified LOGDIR.

-n Disables rotation. This option disables rotation altogether.

-f MAXFILES Maximum number of filehandles to keep open. Defaults to 100. Setting this value too high may result in the system running out of file descriptors. Setting it too low may affect performance.

-u UID Change user to UID when running as root.

-g GID Change group to GID when running as root.

-t TEMPLATE Filename template using Date::Format codes. Default is %m%d%Y-access.log, or %m%d%Y-error.log. When using the -r option, the default becomes %m%d%Y-%T-access.log or %m%d%Y-%T-error.log.

-s SYMLINK Specifies the name of a symlink to the current file.

-r SIZE Rotate files when they reach SIZE. SIZE is given in bytes.

-d CONFIG Use the DBI usage tracker.

-h Displays help.

-v Prints version information.


        Vlogger can automatically keep track of per-virtualhost usage statistics in a
database.  DBI and the relevant drivers (eg. DBD::mysql) needs to be installed for
this to work.  Create a table in your database to hold the data.  A "mysql_create.sql"
script is provided for using this feature with MySQL.  Configure the dsn, user, pass
and dump values in the vlogger-dbi.conf file.  The "dump" parameter controls how often
vlogger will dump its stats into the database (the default is 30 seconds).  Copy this
file to somewhere convienient on your filesystem (like /etc/apache/vlogger-dbi.conf) and
start vlogger with "-d /etc/apache/vlogger-dbi.conf".  You might want to use this feature
to easily bill customers on a daily/weekly/monthly basis for bandwidth usage.

SEE ALSO cronolog(1), httplog(1)

BUGS None, yet.

AUTHORS Steve J. Kondik <>