Skip to main content

Perform a binary search through a log file to find a range of times and print the corresponding lines

Project description

timegrep.py by Dennis Williamson 20100113
in response to http://serverfault.com/questions/101744/fast-extraction-of-a-time-range-from-syslog-logfile
Improvements by Fabrice FACORAT 20110914

Perform a binary search through a log file to find a range of times
and print the corresponding lines
Supported Log Formats:
- W3C Extended: %Y-%m-%d %H:%M:%S
- Syslog: %b %d %H:%M:%S
- NSCA Common/Apache: host rfc931 username [%d/%b/%Y:%H:%M:%S +TZ]
- Bind8: %d-%b-%Y %H:%M:%S.
- Nginx Error logs: %Y/%m/%d %H:%M:%S.
Tested with Python 2.6

TODO: Make sure that it works if the seek falls in the middle of
the first or last line
TODO: Make sure it's not blind to a line where the sync read falls
exactly at the beginning of the line being searched for and
then gets skipped by the second read
DONE: Support more log time format
TODO: Support case when log files may not be properly sorted ( remove superfluous lines )
DONE: Support on the fly log format definition with --log-regexp

Project details


Download files

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

Files for timegrep, version 1.5
Filename, size File type Python version Upload date Hashes
Filename, size timegrep-1.5.tar.gz (5.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page