Skip to content

Log Viewer

The log viewer is the main screen of the desktop app. It’s a virtualized table (react-virtuoso) that handles 100K+ log entries smoothly, with a filter bar at the top.

ColumnDefaultDescription
TimeVisibleTimestamp of the log entry
LevelVisibleinfo, debug, warn, error with color coding
BucketVisibleWhich bucket the log belongs to
MessageVisibleThe log message
TagsVisibleTag key-value pairs
UserVisibleUser ID (from setUser())

Toggle column visibility with the column selector dropdown in the filter bar.

Four toggle buttons at the top: info, debug, warn, error. Each shows a per-level badge count. Click to show/hide each level. Multiple can be active simultaneously.

Substring search across log messages. Type in the search box and results filter in real-time.

Multi-select dropdown showing all buckets in the current project with log counts per bucket. Select one or more to show only logs from those buckets.

Dynamic dropdowns for each tag key discovered in your logs. Up to 4 shown inline in the filter bar; overflow tags are accessible via a “More Filters” drawer. Each dropdown shows unique values with counts and has “Select All”/“None” footer controls. Multiple tag filters are AND-combined (values within a key are OR).

Presets: 5 minutes, 15 minutes, 1 hour, 6 hours, 24 hours, or “All time”.

New logs appear at the bottom of the table automatically. A green fade animation highlights new entries for 3 seconds.

Click the pause button to freeze the view. While paused:

  • New logs are still received and stored
  • A floating pill shows “N new logs”
  • Click the pill or the play button to resume and catch up

This is useful when you’re reading a specific log and don’t want the view jumping around.

Click the expand icon on any row to view full context JSON, tags, and metadata inline.

Click a log row to open it in a dedicated inspector window (separate floating window, 700x800). Shows:

  • Full message text
  • Context object (collapsible JSON viewer with depth control)
  • Tags as chips
  • All metadata fields: app name/version, env, user ID, session ID, trace ID
  • Timestamps

Reuses the existing inspector window for the same log ID.

Scroll-up pagination: automatically loads older logs when scrolling up using cursor-based pagination (beforeId).

Filters are saved configurations that persist. See Filters for details on creating, managing, and organizing filter configs.

When you modify a saved filter’s settings, a save button appears. Changes are local until you explicitly save. You can save or discard to revert.

When filters are active, chips appear below the filter bar showing what’s applied. Click the X on any chip to remove that filter.

Accessed by clicking a project name in the sidebar. Shows:

  • Stats Cards: Total logs, bucket count, filter count, custom tag count.
  • Filters List: All root-level filters and folder groups with click-to-navigate.
  • Custom Tags: Tag keys with their discovered values (up to 10 shown, “+N more” overflow).
  • Buckets List: All buckets with creation dates.
  • Workspace Switcher: Dropdown at top to switch between workspaces. Filters the project list. Persists last selected workspace across restarts.
  • Project Tree: Hierarchical tree with projects, filters, and folders. Collapsible project nodes.
  • Context Menus (native, right-click):
    • Workspace: “Open in New Window”
    • Project: “New Filter”, “Project Settings”
    • Filter: “Duplicate”, “Delete”