← Back to archive

Repo of the Day

markdamics/Logic: Log analyzer

Published: Sep 3, 2026

Open repository ↗

Log analyzer

Summary

Logic is a single-container full-stack log analyzer built with a Spring Boot backend and a React frontend. It registers log sources, tails and indexes them, supports ad-hoc queries, clusters recurring message shapes into patterns, and alerts on thresholds, anomalies, or new patterns. The stack uses an embedded H2 database and an embedded Lucene index, so a basic deployment does not require external services.

What it is useful for

Logic fits situations where an engineer needs to investigate logs from a handful of services without standing up a full ELK, Loki, or Splunk deployment. The embedded H2 plus Lucene pairing keeps the footprint small, which suits local development machines, a small production setup, or a shared debugging instance for a team. The pattern-clustering behavior is a concrete help when you inherit an unfamiliar codebase and want to see which error shapes keep repeating instead of grepping blindly. Threshold, anomaly, and new-pattern alerts give you a way to be notified when a known signal crosses a bound or when an unfamiliar message shape starts appearing. Because the frontend and backend ship together, it also works as a self-contained tool for sharing log access with teammates who do not want to use the command line.

How engineers can use it

For local development, the README documents two processes. Start the backend on port 8080:

cd backend
mvn spring-boot:run

Then in another terminal start the frontend on port 5173, which proxies /api/* to the backend:

cd frontend
npm install
npm run dev

Open http://localhost:5173 and sign in with the default dev credentials admin/admin.

For a containerized deployment, the README points to:

docker compose up --build

This serves the app on http://localhost:8080 and persists state in a logic-data named volume under ./data. Log source mounts and environment variables are configured through docker-compose.yml. A Tauri-based native Linux desktop build that bundles the backend jar is documented in desktop/README.md.

A limitation worth flagging: the top-level README defers the full feature list, screenshots, and security-relevant environment variables to docs/features.md, so readers should consult that file before relying on the app outside a dev setup. The README also only documents a Linux desktop build and does not describe Windows or macOS equivalents.