TotalApp Docs

Log Streamer

Tail and search application and infrastructure logs in real time.

Overview

The Log Streamer connects to one or more log sources and displays their output in a live-updating viewer. Connect file paths, syslog endpoints, or Docker container log streams. Search and filter the incoming lines with plain text or regex, apply severity highlighting, and export captured snippets — all in a single browser tab without needing SSH access.

Real-Time Tail

New log lines appear in the viewer as they are written. Auto-scroll follows the latest output. Click Pause to freeze the view for inspection.

Regex Search

Filter incoming lines by plain text or JavaScript-compatible regex. Non-matching lines are hidden; matching lines are highlighted.

Multiple Sources

Open up to 4 log sources simultaneously in tabs. Each tab has independent scroll, filter, and severity settings.

Export Snippets

Select a range of lines and export them as a .log file or copy to clipboard for sharing in incident reports.

Connecting a Log Source

Click + Add Source to open the source configuration dialog.

Source Types

TypeInputHow It Works
File (tail)Absolute file path (e.g. /var/log/nginx/access.log)Server opens the file and tails new lines as they are written. Requires the file to be readable by the TotalApp server process.
Docker ContainerContainer name or IDUses docker logs --follow to stream stdout + stderr. Requires Docker daemon access (same as Containers screen).
Syslog (UDP)Listening port (default 514)Opens a UDP listener on the specified port. Configure your application or network device to send syslog to TotalApp's host IP and this port.
HTTP (SSE)URL of a Server-Sent Events endpointConnects to an SSE stream and displays each event data field as a log line. Useful for structured log endpoints that push JSON events.

Named Sources

Give each source a short name when configuring it (e.g. "Nginx Access", "API Server"). The name appears in the tab header and is used in exported filenames. Sources are saved across sessions — you do not need to re-enter them on the next visit.

Real-Time Tailing

Once connected, new log lines appear in the viewer as they arrive. The viewer shows up to 5,000 lines in memory (configurable in Settings). Lines beyond this limit scroll off the top.

Controls

  • Pause / Resume — Freeze incoming lines to read at your own pace. New lines are buffered and displayed when you resume. The buffer holds up to 1,000 lines while paused.
  • Clear — Removes all lines from the current viewer. Does not stop the stream — new lines continue to appear after clearing.
  • Scroll to bottom — Jumps to the latest line. A "New lines" badge appears when auto-scroll is off and new lines have arrived.
  • Font size — Adjust between small (10px), medium (12px), and large (14px) for readability in the log viewer.

Searching & Filtering

The search bar above the viewer applies a real-time filter to visible lines. Enter a plain text term or check Regex to use a regular expression pattern.

Search Modes

  • Filter (default) — Lines that do not match are hidden. Only matching lines remain visible in the viewer.
  • Highlight — All lines remain visible but matching text within lines is highlighted in yellow. Useful for tracking a specific value without losing context.

Multiple Terms

Enter multiple search terms separated by | (OR) to match any of the terms. Example: ERROR|WARN|CRITICAL highlights all lines that contain any of those words.

Case-Insensitive Search

Toggle Case Sensitive off (the default) so that error matches ERROR, Error, and error. Turn it on when you need exact case matching (e.g. searching for a specific log constant that differs from general words).

Severity Levels

The Log Streamer automatically detects common severity keywords in each log line and colour-codes the line background.

SeverityKeywords DetectedHighlight Colour
ERROR / CRITICAL / FATALERROR CRITICAL FATAL EXCEPTION PANICRed background, red text
WARNINGWARN WARNING DEPRECATEDYellow background, amber text
INFOINFO NOTICEBlue tint (subtle)
DEBUGDEBUG TRACE VERBOSEDimmed text

Severity colouring can be disabled from the viewer toolbar if your logs use custom severity labels that conflict with the defaults.

Export

To export a log snippet:

  1. Click the first line of the range you want to export. It becomes highlighted in blue.
  2. Shift-click the last line to extend the selection.
  3. Click Export Selection in the toolbar.
  4. Choose Copy to Clipboard or Download .log File.

Alternatively, click Export All to export all currently-visible lines (after any active filter is applied).

FAQ

Can I tail a log file on a remote server?
Not directly from the UI. The File (tail) source reads files on the machine running the TotalApp server. To tail remote logs, either run TotalApp on the remote server, forward logs via syslog to TotalApp, or set up a Docker log driver that forwards to a local container whose logs you can then stream via the Docker Container source type.
Does the log viewer store log data?
The Log Streamer buffers up to the configured line limit (default 5,000) in browser memory only. No log data is written to disk or stored in the server-backed JSON store. When you close the tab or navigate away, all buffered lines are lost. Use the Export feature to save lines you need to retain.
My log file is in JSON format — can I pretty-print it?
Enable JSON Mode in the viewer settings (the {} toggle in the toolbar). When enabled, lines that parse as valid JSON are pretty-printed with syntax highlighting. Non-JSON lines are displayed as plain text. This is particularly useful for structured application logs from Node.js (pino, winston) or Python (structlog).