A general log parser
Project description
Introduction
General log parser is a tool for simple parsing of log files line by line. It assumes your log is in the form of a series of strings separated by tab or some kind of special field separator.
It offers 2 modes:
Parsing from standard input.
Parsing from a file or a list of files.
Usage examples
Uses the test files from the tests folder.
Parse from standard input
cat tests/a20150505.log | logparser
Parse from single file
logparser -l tests/a.20150505.log
Parse from a list of files
logparser -l a.{}.log --from 20150501 --to 20150506 --input-dir tests
Get all lines contains ‘server1’
logparser -l tests/a.20150505.log --line-filter server1
Get all lines contains ‘server1’ OR ‘server2’
logparser -l tests/a.20150505.log --line-filter server1 --line-filter server2
Get all lines which does NOT contains ‘server1’
logparser -l tests/a.20150505.log --not-line-filter server1
Get all lines where the third field > 9939928
logparser -l tests/a.20150505.log --cond-filter "{2} > 9939928"
Get all lines print only the second and third fields
logparser -l tests/a.20150505.log --line-filter server1 -o "{1} {2}"
License
Uses the MIT license.
History
0.1.7 (2015-05-29)
Fix bug with piped input
0.1.6 (2015-05-22)
Support unicode
0.1.5 (2015-05-19)
Port to python 3
0.1.4 (2015-05-16)
Add negative filter.
0.1.3 (2015-05-16)
Update Readme and license.
0.1.0 (2015-05-16)
First release on PyPI.