A Better Log Viewing Experience: Server-Side Filtering, Pagination, and Smarter Refresh

When you are debugging a production issue at 2 AM, the last thing you need is your log viewer getting in the way. Slow filtering, clunky pagination, and stale data make a stressful situation worse. We recently shipped a series of improvements to how LogBlazer displays and navigates logs, and the difference is significant.

Server-Side Filtering and Cursor-Based Pagination

Previously, log filtering happened client-side, which worked fine for small datasets but started to drag once you had thousands of entries. We moved filtering entirely to the server, so queries against level, source, or full-text search now execute where the data lives. The result is faster response times and far less data transferred to the browser.

Alongside that, we replaced the old load-more button with proper page-based navigation backed by cursor-based pagination on the server. This means you can jump between pages of results without re-fetching everything, and the underlying cursor approach keeps things performant even as your log volume grows. No more scrolling endlessly through an ever-growing list.

What Changed: Before vs. After

Client-side filtering → Server-side filtering
Load more button → Page-based navigation with cursors
Stale auto-refresh → Live countdown with glow indicator
Fixed-size detail modal → Expanding modal for large payloads
Static monitor cards → Clickable cards that filter logs

Auto-Refresh That Actually Works

Auto-refresh sounds simple until you get the edge cases. We fixed a bug where the log table would go stale after an auto-refresh cycle, showing outdated entries even though new logs had arrived. We also resolved a negative countdown timer that would appear when the refresh interval wrapped around incorrectly. The refresh indicator now sits below the table with a subtle glow animation, and we eliminated the text jumping that happened when the countdown digits changed width. Small details, but they add up to a log view that feels solid rather than janky.

Relative timestamps throughout the log table now update on a one-second tick, so you always know exactly how fresh each entry is without manually refreshing the page.

Key improvement: The auto-refresh countdown now uses fixed-width rendering, so the timer no longer causes layout shifts as it counts down. Combined with the glow indicator, you always know at a glance whether your log view is live.

Better Detail View and Clickable Monitors

When you click into a log entry, the detail modal now sizes itself properly for long payloads. If your application logs large JSON objects or stack traces, the modal expands to accommodate them instead of forcing you to scroll inside a tiny box.

We also made monitor and heartbeat cards clickable. Clicking a monitor card now filters the log table to show only entries from that source, which makes it much faster to go from noticing an alert to investigating the relevant logs.

Why This Matters

LogBlazer is built around a simple idea: logging should help you, not slow you down. These changes reinforce that. Server-side filtering keeps things fast regardless of volume. Proper pagination gives you control over navigation. Reliable auto-refresh means the data you see is the data that exists. And the clickable monitors tie your dashboard directly to your log investigation workflow.

If you have been looking for a logging tool that does what it should without the bloat, give LogBlazer a try. One API endpoint, project-based organization, and a log viewer that just got a whole lot better.