<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sabari Raj P</title>
    <description>The latest articles on DEV Community by Sabari Raj P (@sabarirajpazhani).</description>
    <link>https://dev.to/sabarirajpazhani</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4018730%2F90dcf94c-7ca0-4aff-9694-0abdfcd73d67.png</url>
      <title>DEV Community: Sabari Raj P</title>
      <link>https://dev.to/sabarirajpazhani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sabarirajpazhani"/>
    <language>en</language>
    <item>
      <title>I built a free local log viewer that opens your logs in a beautiful browser UI with one command</title>
      <dc:creator>Sabari Raj P</dc:creator>
      <pubDate>Tue, 07 Jul 2026 05:20:25 +0000</pubDate>
      <link>https://dev.to/sabarirajpazhani/i-built-a-free-local-log-viewer-that-opens-your-logs-in-a-beautiful-browser-ui-with-one-command-306f</link>
      <guid>https://dev.to/sabarirajpazhani/i-built-a-free-local-log-viewer-that-opens-your-logs-in-a-beautiful-browser-ui-with-one-command-306f</guid>
      <description>&lt;p&gt;Debugging logs should not be painful.&lt;br&gt;
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.&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install and run&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;npm install -g @zync-log/zync-log&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Point it at your log folder:&lt;/strong&gt;&lt;br&gt;
`# Windows&lt;br&gt;
zync-log "D:\MyApp\Logs"&lt;/p&gt;

&lt;h1&gt;
  
  
  macOS
&lt;/h1&gt;

&lt;p&gt;zync-log "/Users/you/MyApp/Logs"&lt;/p&gt;

&lt;h1&gt;
  
  
  Linux
&lt;/h1&gt;

&lt;p&gt;zync-log "/var/log/myapp"&lt;/p&gt;

&lt;h1&gt;
  
  
  we can simply use this
&lt;/h1&gt;

&lt;p&gt;zync-log`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it looks like&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7y89h2u330i98k4jytgw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7y89h2u330i98k4jytgw.png" alt=" " width="799" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbht5249jiedoj6ngenvm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbht5249jiedoj6ngenvm.png" alt=" " width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who is this for?&lt;/strong&gt;&lt;br&gt;
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.&lt;br&gt;
If you write logs in any of these — Zync Log will work for you:&lt;/p&gt;

&lt;p&gt;.NET / ASP.NET Core with Serilog ← best experience, fully optimized&lt;br&gt;
Node.js applications writing structured or plain text logs&lt;br&gt;
Java / Spring Boot text log files&lt;br&gt;
Python application logs&lt;br&gt;
Any application that writes timestamped text log files&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;Search and filtering&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Full-text search across messages, properties, and stack traces&lt;br&gt;
Filter by log level — All, Info, Warn, Error, Debug, Fatal&lt;br&gt;
Filter by date — auto-detects daily log files in your folder&lt;br&gt;
Saved searches so you can reuse common filter combinations&lt;br&gt;
Search history tracked automatically&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Log Analytics Dashboard&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
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.&lt;br&gt;
What you see in the dashboard:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary cards&lt;/em&gt;&lt;/strong&gt; — total lines, errors, warnings, time range covered&lt;br&gt;
Hourly log volume chart — spot traffic spikes and busy hours instantly&lt;br&gt;
Log level distribution — donut chart showing Info/Warn/Error/Debug/Fatal split&lt;br&gt;
Top 10 most frequent errors — ranked leaderboard, click any to search instantly&lt;br&gt;
Noisiest modules — which services or classes are generating the most logs&lt;br&gt;
Recent critical errors feed — latest Error and Fatal entries with Jump to line links&lt;br&gt;
Error heatmap — GitHub-style day × hour grid showing when errors spike&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Ultra-fast streaming&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
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.&lt;br&gt;
Multi-source support&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Local folder on your machine&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
UNC / network paths and mapped drives&lt;br&gt;
Auto-detect common log folder locations&lt;br&gt;
Live mode — auto-refreshes as new logs are written&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Cross-platform&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Works on Windows, macOS, and Linux. One install command, same experience everywhere.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;First-class Serilog support&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
If you use Serilog in your .NET applications, Zync Log gives you a significantly richer experience beyond basic log viewing.&lt;br&gt;
Automatic property extraction&lt;br&gt;
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.&lt;br&gt;
Correlation ID Timeline&lt;br&gt;
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:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;API _— your main application entry point&lt;br&gt;
_Downstream services&lt;/em&gt; — external API calls&lt;br&gt;
_Database _— SQL and Entity Framework activity&lt;br&gt;
_Errors _— error and fatal events in the chain&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;This turns hours of manual log tracing into seconds.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Multi-line stack trace collapsing&lt;/strong&gt;&lt;br&gt;
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.&lt;br&gt;
&lt;strong&gt;Supported Serilog log format:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;text2026-06-27 10:45:12.345 +05:30 [INF] (CorrelationId: 8f9b2c1a) &lt;br&gt;
OrderService — Processing order {OrderId: 1042, Amount: 99.99}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works under the hood&lt;/strong&gt;&lt;br&gt;
The npm package bundles two things together:&lt;br&gt;
Backend — ASP.NET Core 8&lt;br&gt;
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.&lt;br&gt;
Frontend — React + Vite + Tailwind CSS&lt;br&gt;
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.&lt;br&gt;
CLI launcher — Node.js&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech stack&lt;/strong&gt;&lt;br&gt;
LayerTechnologyCLI launcherNode.jsBackendASP.NET Core 8FrontendReact + Vite + Tailwind CSSLog streamingServer-Sent Events (SSE)Package distributionnpm&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Platform support&lt;/strong&gt;&lt;br&gt;
PlatformStatusWindows x64✅ SupportedmacOS arm64 / x64✅ SupportedLinux x64✅ Supported&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The repositories&lt;/strong&gt;&lt;br&gt;
The project is split across three open source repositories:&lt;br&gt;
RepositoryWhat it containszync-lognpm CLI packagezync-webReact frontendzync-apiASP.NET Core backend&lt;/p&gt;

&lt;p&gt;Install it&lt;br&gt;
&lt;code&gt;&amp;gt; bashnpm install -g @zync-log/zync-log&lt;/code&gt;&lt;br&gt;
npm: &lt;a href="https://www.npmjs.com/package/@zync-log/zync-log" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@zync-log/zync-log&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/zync-ui/zync-log" rel="noopener noreferrer"&gt;https://github.com/zync-ui/zync-log&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/zync-ui/zync-web" rel="noopener noreferrer"&gt;https://github.com/zync-ui/zync-web&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/zync-ui/zync-api" rel="noopener noreferrer"&gt;https://github.com/zync-ui/zync-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is coming next&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I would love your feedback. Try it with your own log files and let me know what features would make your debugging life easier.&lt;br&gt;
Drop a comment or open an issue on GitHub. 🙏&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>react</category>
      <category>dotnet</category>
    </item>
  </channel>
</rss>
