# Lumberjack In its simplest form, lumberjack is a pipe logger for Apache HTTPd and other daemons. Lumberjack can be used as the logger for piped log files using the HTTPd `CustomLog` directive - processing each log line and writing it out to the correct - per `VirtualHost` - log file. It may also be used by other daemons capable of writing log files to a pipe, or via a FIFO. In contrast to having one logger process per `VirtualHost` (or a hard coded log file for each `VirtualHost`, as is the norm), lumberjack can be set as the pipe logger in the global section of the *httpd.conf* file, and - with an appropriate `LogFormat` specifier - will split off each log line for a different `VirtualHost` and write it to a per `VirtualHost` log file based upon a user defined template. Lumberjack may also be used in 'raw' mode in combination with the HTTPd `ErrorLog` directive to log errors, either on a per server or per `VirtualHost` basis to a log file based upon a user supplied template. 'raw' mode also allows other daemons to log via lumberjack, either as a pipe logger or via a FIFO. ### Additional features * Automatic log file compression (using a user specifiable compressor) after log files are rotated. * Request flushing/syncing of log files after each write (though this is not recommended). * Reading of log lines from a FIFO rather than stdin - allowing use with other daemons such as ftpd and rsyncd. * Automatic creation of a symbolic link to the currently active log file. * 'raw' logging mode, for use with HTTPd's ErrorLog and with other daemons such as ftpd and rsyncd. * User specified umask settings for directories and files. * Log file names based upon a strftime() encoded template, optionally including the HTTPd VirtualHost identifier. ----- ## Command line and templates ``` lumberjack [options]