DEBUG keyboard
Hands on the keys.
Single letters for what you do all day: E next error, F follow, P freeze, G to the whole log. Every shortcut is an action you can rebind in the app.
INFO default shortcuts
The defaults.
Plain keys act in the log only, not in text fields or dialogs. Change them under Help → Keyboard Shortcuts, Cmd/Ctrl+Shift+K.
| Key | Action |
|---|---|
| Cmd/Ctrl+O | Open a file |
| Cmd/Ctrl+Shift+O | Type or paste a path to open (~ works) |
| Cmd/Ctrl+Shift+L | Open a source: receive syslog over UDP/TCP, a database query (kind „Datenbank“) |
| Cmd/Ctrl+Shift+H | Open a remote file over SSH/SFTP |
| Cmd/Ctrl+Shift+M | Merge files into one tab, sorted by time |
| Cmd/Ctrl+Shift+E | Export the selection, the view or the file |
| – | Open a workspace (.lcw) |
| – | Save the workspace: files, filter tabs, bookmarks, notes, layout |
| Cmd/Ctrl+, | Settings |
| Cmd/Ctrl+W | Close the tab |
| Ctrl+Tab | Next tab |
| Ctrl+Shift+Tab | Previous tab |
| Cmd/Ctrl+Shift+T | The result of the tab as a new filter tab, to filter further there (T on a filter in the tree) |
| Cmd/Ctrl+B | Show or hide the sidebar |
| Cmd/Ctrl+Shift+D | Dashboard of the tab, or back to the log |
| T | Columns or raw lines |
| D | Detail panel with the whole entry (also a double click on a line); in it the arrows scroll the panel |
| Z | Show or hide the timeline above the log |
| Shift+F10, ContextMenu | Column menu (show, hide, move, resize, reset) |
| Cmd/Ctrl+Alt+T | Colour scheme picker (arrows try, Enter keeps, Esc goes back) |
| End, F | Go to the end and follow |
| Space | Pause or resume following |
| P | Freeze: hold or resume reading the file of this tab |
| Home | Go to the first line |
| PageUp | One page up |
| PageDown | One page down |
| ↑ | With a selection: the previous entry (a stack trace is one), scrolled into view; without: one line up |
| ↓ | With a selection: the next entry; without: one line down |
| E | Next error (ERROR, FATAL) in the view; the selection stays |
| Shift+E | Previous error |
| W | Next warning or worse |
| Shift+W | Previous warning or worse |
| N | Next bookmark |
| Shift+N | Previous bookmark |
| Cmd/Ctrl+C | Copy the selected lines (marked text copies itself) |
| Esc | Drop marked text in the log, then the selection |
| Shift+↑ | Extend the selection by one entry upwards (or shrink it) |
| Shift+↓ | Extend the selection by one entry downwards (or shrink it) |
| Enter | Detail panel for the selection (stays open when it is) |
| M | Bookmark on the selected entry, or off again |
| Shift+M | Note on the selected entry (write, change, delete) |
| G | Selected line in the whole log (filter lifted and kept, the filter tree too), again: back to the filter |
| I | Filter on the marked text (filter tree); also by right click on a line |
| Shift+I | Exclude the marked text |
| > | Section from the selected entry (filter tree) |
| < | Section up to the selected entry |
| Cmd/Ctrl+F | Search |
| Enter | In the search field: next match |
| Shift+Enter | In the search field: previous match |
| Esc | In the search field: clear it |
| Cmd/Ctrl+Shift+K | Keyboard shortcuts: view, record, remove, reset (also Help → Keyboard Shortcuts…) |
| ? | Keyboard shortcuts as an overview |
| – | Show the AI control history (no default key) |
| – | Disconnect the AI (no default key) |
| – | Hide the tab in front from the AI, or show it again (no default key) |
No shortcut matches.
INFO keys of single widgets
Where the focus is.
These are fixed and stay with their widget.
| Where | Key | Action |
|---|---|---|
| Timeline | ← → Shift+←/→ Enter + - Esc | Move the cursor, mark a window, jump to its time, zoom, drop the window |
| Bars between panes | ↑ ↓ Home End | Height of the detail panel, width of the sidebar. Shift for bigger steps, double click for the default |
| Tree | ↑ ↓ ← → Enter Space Delete | Move, open and close nodes, activate, remove a filter |
| Filter tree | A Shift+A T N Alt+↑ Alt+↓ | Add a condition or a group, a filter as a new tab, negate, move among its siblings |
| Chart of the dashboard | ← → Home End Enter | Pick a point, jump to its first line |
| SQL of a panel, note | Cmd/Ctrl+Enter | Run the query, save the note |
| Log | Click, Shift+click | Select an entry, or a range |
| Overview ruler | Click | Go to the next marked entry from there, a bookmark, the selection or that place |
WARN took 0.13ms
Measured, not promised.
On an Apple Silicon Mac, release build, with a log of 500 MB and 5.1 million lines. The tests that measure this are in the repository.
| What | Time or size |
|---|---|
| Level filter over all lines | 15 ms |
| Full text search over all lines | 0.7 s |
| Filter tree with 1 / 5 / 20 text conditions | 0.8 / 0.8 / 1.0 s |
| Overview ruler (800 px, 1000 bookmarks) | 0.3 ms |
| Next FATAL, none in 5.1 million lines | 0.13 ms |
| Timeline with 1000 buckets / position at a time | 0.6 ms / 0.13 ms |
| 5000 lines with 0 / 4 / 16 extracted fields | 7.8 / 11.8 / 12.8 ms |
| Dashboard database: build / size / errors per minute | 12.8 s / 226 MB / 1.0 s |
| Read and filter with 1 / 4 / 8 filter tabs open | 2.2 / 3.6 / 4.6 s |
| Export of all lines as text / CSV with 5 columns | 0.55 / 9.8 s |
| Syslog over UDP without loss | 100,000 messages/s |
At 10,000 lines per second the event loop of the UI was never blocked for more than 8 ms (debug build, end-to-end test).
INFO questions
Good to know.
Is it free?
Yes. Log Commander is open source under the MIT license. Use it at home and at work, read the code, change it.
Where can I download it?
Version 1.0.0 is on the GitHub releases page: a universal .dmg for macOS, an installer or .msi for Windows, .deb or AppImage for Linux. You can also build it from source with Node.js and Rust; the steps are in the README.
Are the packages signed?
Not yet. On macOS open the app with right click, Open. On Windows choose More info, Run anyway in SmartScreen.
What happens with my logs?
They stay on your computer. The app has no account, no telemetry and does not phone home. If you turn on AI control, what the AI reads goes to the provider of your AI app, and you can hide tabs from it.
How large can a file be?
Up to 2³² lines per file. The index takes 16 bytes per line, the text stays on disk. A line is shown up to 128 KB and searched up to 1 MB.
Can it sort by a column?
No. The view stays in file order, because a log is a sequence. To see “the slowest requests”, filter on a field or ask the dashboard with SQL.
Which language is the interface?
German for now, as the pictures on this site show.