Debugging logs should not be painful.
But for most developers it looks like this — open a 500MB log file in Notepad, it freezes. Try a basic log viewer, searching is slow. End up doing Ctrl+F through thousands of lines trying to find that one error that happened at 3 AM.
I got tired of this and built Zync Log — a free local log viewer that opens your logs in a clean browser UI with one terminal command. No cloud. No account. No configuration.
Install and run
npm install -g @zync-log/zync-log
Point it at your log folder:
`# Windows
zync-log "D:\MyApp\Logs"
macOS
zync-log "/Users/you/MyApp/Logs"
Linux
zync-log "/var/log/myapp"
we can simply use this
zync-log`
What it looks like
Who is this for?
Zync Log works with any log file — .log or .txt format from any framework or language. But it has first-class, native support for Serilog structured logs from .NET applications, with automatic property extraction, correlation ID tracking, and stack trace collapsing built in.
If you write logs in any of these — Zync Log will work for you:
.NET / ASP.NET Core with Serilog ← best experience, fully optimized
Node.js applications writing structured or plain text logs
Java / Spring Boot text log files
Python application logs
Any application that writes timestamped text log files
Features
Search and filtering
Full-text search across messages, properties, and stack traces
Filter by log level — All, Info, Warn, Error, Debug, Fatal
Filter by date — auto-detects daily log files in your folder
Saved searches so you can reuse common filter combinations
Search history tracked automatically
Log Analytics Dashboard
Click the Analytics button in the toolbar and get instant visual insights from your logs — no extra loading, no server round-trip, computed directly from logs already in the browser.
What you see in the dashboard:
Summary cards — total lines, errors, warnings, time range covered
Hourly log volume chart — spot traffic spikes and busy hours instantly
Log level distribution — donut chart showing Info/Warn/Error/Debug/Fatal split
Top 10 most frequent errors — ranked leaderboard, click any to search instantly
Noisiest modules — which services or classes are generating the most logs
Recent critical errors feed — latest Error and Fatal entries with Jump to line links
Error heatmap — GitHub-style day × hour grid showing when errors spike
Ultra-fast streaming
Logs stream to your browser in real time via Server-Sent Events (SSE). Rendering starts within milliseconds even for gigabyte-sized files. The backend uses compiled Regex patterns and zero-allocation memory buffers so the UI stays smooth regardless of file size.
Multi-source support
Local folder on your machine
UNC / network paths and mapped drives
Auto-detect common log folder locations
Live mode — auto-refreshes as new logs are written
Cross-platform
Works on Windows, macOS, and Linux. One install command, same experience everywhere.
First-class Serilog support
If you use Serilog in your .NET applications, Zync Log gives you a significantly richer experience beyond basic log viewing.
Automatic property extraction
Serilog structured parameters like {UserId: 42, RequestPath: "/api/orders"} and source contexts like (SourceContext: OrderService) are automatically extracted and shown as clean key-value badges — not buried inside raw text.
Correlation ID Timeline
Every log entry with a Correlation ID, TraceId, or ConnectionId is highlighted as a clickable tag. Click it and a drawer opens showing the full end-to-end request flow across your services in chronological order:
API _— your main application entry point
_Downstream services — external API calls
_Database _— SQL and Entity Framework activity
_Errors _— error and fatal events in the chain
This turns hours of manual log tracing into seconds.
Multi-line stack trace collapsing
Exception stack traces are automatically linked to their parent log event and neatly collapsed in the UI — with a copy-to-clipboard button. Your log view stays clean and readable.
Supported Serilog log format:
text2026-06-27 10:45:12.345 +05:30 [INF] (CorrelationId: 8f9b2c1a)
OrderService — Processing order {OrderId: 1042, Amount: 99.99}
How it works under the hood
The npm package bundles two things together:
Backend — ASP.NET Core 8
A self-contained binary that reads your log files, parses every line, and streams results to the browser via SSE. It is self-contained — no runtime installation needed on the user's machine. The backend was chosen for its performance advantage on heavy file I/O and text processing workloads — handling multi-gigabyte log files smoothly.
Frontend — React + Vite + Tailwind CSS
The UI served directly by the backend. The log table, search, filters, analytics charts — all React, all running as a static SPA in your browser.
CLI launcher — Node.js
A tiny Node.js script (the actual npm package entry point) that starts the backend binary in the background and opens your browser automatically. This is the only Node.js code involved — all the heavy work happens in the backend binary.
Tech stack
LayerTechnologyCLI launcherNode.jsBackendASP.NET Core 8FrontendReact + Vite + Tailwind CSSLog streamingServer-Sent Events (SSE)Package distributionnpm
Platform support
PlatformStatusWindows x64✅ SupportedmacOS arm64 / x64✅ SupportedLinux x64✅ Supported
The repositories
The project is split across three open source repositories:
RepositoryWhat it containszync-lognpm CLI packagezync-webReact frontendzync-apiASP.NET Core backend
Install it
> bashnpm install -g @zync-log/zync-log
npm: https://www.npmjs.com/package/@zync-log/zync-log
GitHub: https://github.com/zync-ui/zync-log
https://github.com/zync-ui/zync-web
https://github.com/zync-ui/zync-api
What is coming next
I would love your feedback. Try it with your own log files and let me know what features would make your debugging life easier.
Drop a comment or open an issue on GitHub. 🙏


Top comments (0)