Skip to main content

routelog is a flexible execution-based log processing program and Domain Specific Language. routelog takes a rules file in the following format:

/pattern/    command $1 $2

And operates on one or more log files, executing command $1 $2 for all lines matching the regular expression /pattern/ substituting the first and second items in the log line for $1 and $2 respectively. A rules file with the following directive:

/ERROR/      echo "$*" | mail -s "Error executing ${3%:} on $2 at $1" error@example.com

Would process a log entry like:

2012-12-07T12:06:11-05:00 server1 program_name: ERROR foo

and send an email to error@example.com with the subject:

Error executing program_name on server1 at 2012-12-07T12:06:11-05:00'

and the body:

2012-12-07T12:06:11-05:00 server1 program_name: ERROR foo

Rules files are processed by the routelog program:

routelog mail-errors.rules /var/log/*.log

The routelog program acts as a filter, passing all log lines to stdout, which is useful for doing additional processing in a single pipeline:

routelog mail-errors.rules /var/log/*.log | bzip2 > todays-logs.`date +%s`.bz2

For more on rules files, see man 5 routelog, for more on routelog see man 1 routelog.

Installing

The routelog project lives on github, and is available via pip.

Installing v0.1 From Pip

sudo pip install routelog==0.1

Installing v0.1 From Source

wget https://github.com/axialmarket/routelog/archive/routelog-0.1.tar.gz | tar vzxf -
cd routelog-0.1
sudo python setup.py install

Usage

routelog [-h|--help] [-c|--comments] [-n|--no-output] rules_file [ log_file [...]]

Optional Arguments

-h, –help

Print an extended usage to stdout and exit.

-c, –comments

Treat comments in log lines (anything following a ‘ #’) as arguments, rather than ignoring them.

-n, –no-output

Suppress the (default) behavior of printing each log line to stdout.

More documentation is available via for the routelog program (man 1 routelog) and routelog rules file formats (man 5 routelog) after install.

License

routelog is made available for use under a 3-clause BSD license (see: LICENSE.txt in the package).

Authors

Matthew Story (matt.story@axial.net)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

routelog-0.1.tar.gz (7.8 kB view details)

Uploaded Source

File details

Details for the file routelog-0.1.tar.gz.

File metadata

  • Download URL: routelog-0.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for routelog-0.1.tar.gz
Algorithm Hash digest
SHA256 9987fe2cd9778f5df2e4b76fc8ce04937a3ceefb500aaeb5086475c68131aa41
MD5 daa96ab884e79d7ffd3adbd148ba96ea
BLAKE2b-256 0a84f7a74de966697d7e7f997fe0e1ee58b94af529773b798206dd549539657a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page