Merge and manipulate log files like theres no tomorrow
- Merge timestamped log files - sample use case
- Apply time range queries - sample use case
cabal build
cabal run loggy -- -i file1.txt -i file2.txt@"%H:%M:%S" -i file3.txt --format "%H-%M-%S"
Usage: loggy --format DATE_FORMAT (-i FILE(with optional @DATE_FORMAT))
Merge and manipulate log files.
Available options:
-h,--help Show this help text
--format DATE_FORMAT common date format
-i FILE(with optional @DATE_FORMAT)
Name of the file and its optional date format
separated by @. Repeatable arg.
- Checkpoint 2: Improvements and Verification
- optparse improvements (figure out good command line syntax)
- Merging multiple log files
- With same format
- With different formats
- Add unit tests(HUnit)
- Remove "error" on parse issues, replace with "Maybe"
- Add -Weverything flag
-
fileembed
with actual data + setup of regression tests - Add Github CI (optional)
- Checkpoint 3: Performance
- Use Vector/Text
- Use heap for low memory consumption/Use streaming library
- Benchmarks(optional)
- Checkpoint 4: Stretch goals
- Adding quickcheck testing(how to model strftime/log file inputs)
- Pull in remote files
- Terminal coloring
- Filename prefixing in output
- Text marked as a specific color (eg. log warn levels)
- Print output in a range of timestamps
- Group lines without timestamps
- Reading log files in parallel
- Look into doctest to clean up unit tests