Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Multi-Tab

logana supports multiple tabs, each showing an independent log file, directory, stdin stream, or Docker container.

Tab Keybindings

KeyAction
TabSwitch to next tab
Shift+TabSwitch to previous tab
Ctrl+tOpen a new (empty) tab
Ctrl+wClose the current tab
Ctrl+pOpen a searchable popup to switch between open files

A tab can also be clicked directly in the tab bar to switch to it.

Opening Files in Tabs

From the command line, a file argument opens in its own tab; a directory argument shows a picker to choose which files to open (not yet supported for multiple positional args):

logana /var/log/         # shows a picker — pick which files to open, each in its own tab

From within logana, use the :open command:

:open app.log            # opens in the current tab
:open /var/log/          # shows the same picker (directory)

Tab State

Each tab maintains completely independent state:

  • Scroll position and viewport
  • Active filters (with their colors and enabled/disabled states)
  • Search query
  • Marks and annotations
  • Detected log format
  • Field layout (visible columns and order)
  • Display flags (wrap, sidebar, tail mode, show-keys)

Session Restore

When you close logana and reopen it without arguments, it prompts to restore the previous session — reopening all tabs that were open at exit, with their per-tab state restored. Docker tabs are re-attached by container name.

Merged View

:merge opens a source-selection popup where you can choose any combination of open tabs. Confirming creates a new merged(N) tab that interleaves all selected sources sorted by timestamp — no data is copied.

:merge    # open source-selection popup

In the merged tab each line is prefixed with the title of the tab it came from.

The merged tab stays live: as the source tabs receive new lines, the merged index is extended and re-sorted automatically. You can pause or stop updates with the usual commands:

:pause   # pause live updates for the merged tab
:resume  # resume live updates
:stop    # stop live updates permanently for the merged tab

Filters, search, marks, and annotations all work the same as on any other tab.

Files inside a .zip/.tar.gz/etc archive can be merged directly without opening them as separate tabs first — mark them with m in the archive picker instead of Space. See Opening Compressed and Archive Files. Unlike this live merged(N) tab, an archive-picker merge is a one-shot snapshot of the extracted files (there’s no live source tab to poll for new lines).

Tail Mode Per Tab

Each tab can independently have tail mode enabled or disabled:

:tail    # toggle tail mode for the current tab

When tail is active for a tab, [TAIL] appears in that tab’s log panel title.