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.

The GUI uses these same keybindings.global settings. In the GUI, Ctrl+t opens the file selection window. There are no fixed Ctrl+O or Ctrl+Tab aliases; set global.new_tab, global.next_tab, or global.prev_tab to your preferred shortcuts. See GUI shortcuts.

Opening Files in Tabs

From the command line, each file argument opens in its own tab; a directory argument opens every file inside it (including files inside any archives found there), each in its own tab. A file argument can also be a glob pattern, which opens every match, each in its own tab:

logana app.log system.log        # two tabs, one per file
logana /var/log/                 # opens every file under /var/log, each in its own tab
logana '/var/log/system.log*'    # opens system.log, system.log.1, system.log.2.gz, ... each in its own tab

Quote a glob pattern so the shell passes it through as-is; an unquoted pattern is expanded by the shell first, which works the same way.

If a file that actually exists on disk happens to have *, ?, or [ in its name, its literal name always takes priority over the glob interpretation — so logana 'weird[1].log' opens that exact file rather than being parsed as the character class [1].

From within logana, use the :open command:

:open app.log                    # opens in a new tab
:open /var/log/                  # opens every file under /var/log, each in its own tab
:open /var/log/system.log*       # opens every matching file, each in its own tab

To choose which files to open instead of opening everything, use :file-picker on a directory or archive:

:file-picker /var/log            # shows a picker — pick which files to open, each in its own tab
:file-picker logs.tar.gz         # same picker, for an archive's contents

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.