Inspiration

As a Principal Support Engineer, I’ve spend a lot of time analysing logs. This takes a lot of time in my job. The biggest bottleneck isn’t fixing the bug—it's finding it. We get diagnotic logs from different servers, enviornment logs, application logs, system logs. most of the times Server A uses Syslog formatting. Server B uses ISO-8601 with milliseconds. Enviornemnt logs have different legacy formatting. I or other Engineers end up copy-pasting lines into Notepad++ , manually calculating time differences, and trying to align the timeformats and manually going through many logs to find the events around a particular timestamp and make corelation of the events.

I built this tool because I was tired of eyeballing timestamps and losing my sanity to manual log correlation. I wanted a fast, local way to point to a folder, type in the time of the issue, and see a clean, unified timeline of exactly what happened from different logs and their entries.

What it does

It’s a local troubleshooting dashboard designed to cut down mean time to resolution (MTTR). You give it a target directory and the exact timestamp of an incident. In little time, it scans all the files in parallel, parses their date formats, and maps them onto a single chronological timeline within a customizable window (like 60 seconds before and after the failure)

From there, it redacts any sensitive database credentials or PII, and feeds the critical incident window to a local AI assistant and also a field to provide a brief description of the issue the customer or user is facing. The AI reviews the localized logs, tells you what likely caused the issue (e.g. disk full, auth token expired), and gives you a step-by-step checklist to troubleshoot the problem.

How I built it

I wanted this tool to be fast and secure. It runs locally so logs never leave your machine unless you choose to troubleshoot them:

  • FastAPI backend handles the heavy lifting, using Python's ThreadPoolExecutor to multi-thread the directory scanning so it doesn't lock up your CPU.
  • The parser uses regular expressions to auto-detect and parse half a dozen timestamp styles on the fly.
  • React frontend styled with raw CSS HSL variables for a sleek, dark-themed dashboard.
  • To make it cloud-deployable as a single unit, I configured FastAPI to mount the compiled React dist/ static files so it runs inside a single, clean container.

Challenges I ran into

  • Log parsing had encountered issues in manual testing,
  • Most of the times the Regex expression for multiple file names were not taken into accounts.
  • keyword filtering was not working.
  • Window (seconds) time field had issues

Accomplishments that I'm proud of

  • After spending like 2 days and more than 26 hours on debugging, explaining, testing with real time logs finally I was able to see the expected results and this will help me and others in saving time analysing and understand the logs

What I learned

  • Clearly and in detail explain in the prompt the requirement. I spent at times more than 30 mins to craft a detailed prompt which when read gives clear picture and what needs to be accomplished, for generating the demo data logs, I was able to get it in one go.
  • Patience is the key and we need to keep testing different way and think of features which can be added one after another and not all at the same time.

What's next

  • Need to add more time formats to the decoding list
  • More ways, coloring and highlighting lines with warnings, errors
  • More sophisticated AI Agent troubleshoot by providing KB Articles, RAG Databases with Infos

Built With

Share this project:

Updates