ScalaintermediatebackendAI generated

Server Log Analyzer with Cats Effect

Build a tool that parses web server access logs, extracts request patterns, and reports top endpoints, status-code breakdowns, and traffic spikes. Learners practice functional I/O with Cats Effect, streaming file parsing, and building composable analysis pipelines.

Estimate
~11h
Steps
6
Completed by
0
Proposed by
codeseed.app

Cats Effect · fs2

Project roadmap

  1. 01

    Model log entries

    ~1.5h

    Define a LogEntry case class capturing timestamp, endpoint, status code, and response time.

  2. 02

    Parse log lines with regex

    ~2h

    Write a parser that converts raw log lines into LogEntry values, skipping malformed lines.

  3. 03

    Stream the log file with fs2

    ~2.5h

    Use fs2 streams and Cats Effect IO to process large log files without loading them fully into memory.

  4. 04

    Compute aggregations

    ~2.5h

    Compute top endpoints, status-code breakdowns, and per-minute request-rate spikes.

  5. 05

    Output a formatted report

    ~1h

    Print the aggregated statistics as a readable terminal report.

  6. 06

    Write unit tests

    ~1.5h

    Test the parser and aggregation logic against sample log data.

Resources

Ready to build this?

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

~11h · 6 steps

Tech stack

Cats Effectfs2