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:
- %
- a literal % character
- n
- a new-line character
- t
- a horizontal tab character
Time fields:
- H
- hour (00..23)
- I
- hour (01..12)
- p
- the locale's AM or PM indicator
- M
- minute (00..59)
- 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
Date fields:
- 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)
Other specifiers may be available depending on the C library's
implementation of the strftime function.
apache(1m) cronolog(1m) date(1)
strftime(3) environ(5)
More information and the latest version of cronolog and
cronosplit can be obtained from
http://www.ford-mason.co.uk/resources/cronolog/
If you have any suggestions, bug reports, fixes, or enhancements,
please mail them to the author.
Documentation for the Apache http server is available from
http://www.apache.org
Andrew Ford <A.Ford@ford-mason.co.uk>
cronosplit is based on a script called splitlog by
Roy Fielding, which is part of the wwwstat package.