# Lumberjack In its simplest form, lumberjack is a pipe logger for [Apache HTTPd](http://httpd.apache.org/) 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 will - with an appropriate `LogFormat` specifier - 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 to a log file based upon a user supplied template, either on a per server or per `VirtualHost` basis. '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]