Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 1.86 KB

README.md

File metadata and controls

56 lines (46 loc) · 1.86 KB

loggy

Merge and manipulate log files like theres no tomorrow

MVP Features

Build

cabal build
cabal run loggy -- -i file1.txt -i file2.txt@"%H:%M:%S" -i file3.txt --format "%H-%M-%S"

Tool Description

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.

Rough Checkpoints

  • 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