cronosplit - split log files into cronolog-compatible files
cronosplit --template=TEMPLATE [--print-invalid] [--help] [--version] file ...
cronosplit is a simple program that reads lines from a set of input log files, which must be in Common Log Format or NCSA Combined/XLF/ELF Format and write each lines to an output files, the name of which is constructed using the template specified and timestamp from the the line. The template uses the same format specifiers as the Unix date(1) command (which are the same as the standard C strftime library function).
cronosplit accepts the following options and arguments:
|--template=TEMPLATE||specifies the template for the output log files (using the format specifiers described below).|
|--print-invalid||print invalid log file entries to the standard error stream.|
|--utime||update modification time of output file according to last parsed log entry.|
|--verbose||print additional status messages to the standard error stream.|
|--debug||print debug messages to the standard error stream.|
|--help||print a help message and then exit.|
|--version||print version information and exit.|
Each character in the template represents a character in the expanded filename, except for date and time format specifiers, which are replaced by their expansion. Format specifiers consist of a ‘%’ followed by one of the following characters:
Other specifiers may be available depending on the C library’s implementation of the strftime function.
|%||a literal % character|
|n||a new-line character|
|t||a horizontal tab character|
|p||the locale’s AM or PM indicator|
|S||second (00..61, which allows for leap seconds)|
|X||the locale’s time representation (e.g.: "15:12:47")|
|Z||time zone (e.g. GMT), or nothing if the time zone cannot be determined|
|a||the locale’s abbreviated weekday name (e.g.: Sun..Sat)|
|A||the locale’s full weekday name (e.g.: Sunday .. Saturday)|
|b||the locale’s abbreviated month name (e.g.: Jan .. Dec)|
|B||the locale’s full month name, (e.g.: January .. December)|
|c||the locale’s date and time (e.g.: "Sun Dec 15 14:12:47 GMT 1996")|
|d||day of month (01 .. 31)|
|j||day of year (001 .. 366)|
|m||month (01 .. 12)|
|U||week of the year with Sunday as first day of week (00..53, where week 1 is the week containing the first Sunday of the year)|
|W||week of the year with Monday as first day of week (00..53, where week 1 is the week containing the first Monday of the year)|
|w||day of week (0 .. 6, where 0 corresponds to Sunday)|
|x||locale’s date representation (e.g. today in Britain: "12/04/96")|
|y||year without the century (00 .. 99)|
|Y||year with the century (1970 .. 2038)|
apache(1m) cronolog(1m) date(1) strftime(3) environ(5)
More information and the latest version of cronolog and cronosplit can be obtained from
If you have any suggestions, bug reports, fixes, or enhancements, please mail them to the author.
More about Apache
Documentation for the Apache http server is available from
Andrew Ford <A.Ford>
cronosplit is based on a script called splitlog by Roy Fielding, which is part of the wwwstat package.