C++intermediatedevopsAI generated

Multi-Format Log Parser & Aggregator

A CLI tool that parses log files in multiple formats (plain text, JSON lines, syslog) into a unified internal representation, then aggregates and filters entries by time range, severity, and source. Learners practice format-specific parsers behind a common interface, std::regex, and command-line filtering options.

Estimate
~8.5h
Steps
5
Completed by
0
Proposed by
codeseed.app

std::regex · nlohmann/json

Project roadmap

  1. 01

    Define the unified LogEntry model

    ~1h

    Design a common struct holding timestamp, severity, source, and message regardless of input format.

  2. 02

    Implement the plain-text and syslog parsers

    ~2.5h

    Use std::regex to extract fields from plain-text and syslog-formatted lines into LogEntry objects.

  3. 03

    Implement the JSON-lines parser

    ~1.5h

    Use nlohmann/json to parse newline-delimited JSON log entries into the same LogEntry model.

  4. 04

    Add filtering by time range and severity

    ~2h

    Implement CLI flags to filter parsed entries by date range and minimum severity level.

  5. 05

    Add aggregation summaries

    ~1.5h

    Produce counts of entries per severity and per source, printed as a summary table.

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~8.5h · 5 steps

Tech stack

std::regexnlohmann/json