Skip to content

Merge and manipulate log files like theres no tomorrow

License

Notifications You must be signed in to change notification settings

saatvikshah/loggy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Merge and manipulate log files like theres no tomorrow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published