Skip to content

Commit bde8956

Browse files
ozgesolidkeyclaude
andcommitted
Add user manual documenting non-obvious features and shortcuts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent b3b2c3a commit bde8956

1 file changed

Lines changed: 252 additions & 0 deletions

File tree

MANUAL.md

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
# LOGAN User Manual
2+
3+
## Keyboard Shortcuts
4+
5+
### Files & Tabs
6+
| Shortcut | Action |
7+
|----------|--------|
8+
| Ctrl+O | Open file |
9+
| Ctrl+T | New tab |
10+
| Ctrl+W | Close tab |
11+
| Ctrl+Tab | Next tab |
12+
| Ctrl+Shift+Tab | Previous tab |
13+
| Drag & drop | Drop files or folders into window to open |
14+
15+
### Navigation
16+
| Shortcut | Action |
17+
|----------|--------|
18+
| Arrow Up/Down | Move one line |
19+
| Page Up/Down | Move by page |
20+
| Home / End | Jump to first / last line |
21+
| Arrow Left/Right | Scroll horizontally |
22+
| Shift+Scroll wheel | Horizontal scroll |
23+
24+
### Search
25+
| Shortcut | Action |
26+
|----------|--------|
27+
| Ctrl+F | Focus search box |
28+
| Enter | Run search |
29+
| F3 / Ctrl+G | Next result |
30+
| Shift+F3 / Ctrl+Shift+G | Previous result |
31+
| Ctrl+Shift+R | Toggle search results panel |
32+
33+
### Bookmarks & Highlights
34+
| Shortcut | Action |
35+
|----------|--------|
36+
| Ctrl+B | Toggle bookmark on current line |
37+
| Ctrl+H | Highlight selected text (all occurrences) |
38+
| Ctrl+Shift+H | Highlight selected text (first per line) |
39+
| Ctrl+Shift+S | Save selected lines as snippet to notes file |
40+
41+
### Panels
42+
| Shortcut | Action |
43+
|----------|--------|
44+
| Ctrl+1 | Folders |
45+
| Ctrl+2 | Bookmarks |
46+
| Ctrl+3 | Highlights |
47+
| Ctrl+4 | Statistics |
48+
| Ctrl+5 | History |
49+
| Ctrl+6 | Analysis (bottom) |
50+
| Ctrl+7 | Time Gaps (bottom) |
51+
| Ctrl+8 | Search Configs (bottom) |
52+
| Ctrl+9 | Video Sync (bottom) |
53+
| Ctrl+Shift+P | Live connections panel |
54+
| Ctrl+\\ | Toggle panel visibility |
55+
| Escape | Close active panel or modal |
56+
57+
### Special
58+
| Shortcut | Action |
59+
|----------|--------|
60+
| Ctrl+\` | Terminal (drop-down from top) |
61+
| Ctrl+Shift+N | Notes drawer (slide-up from bottom) |
62+
| Ctrl+Shift+D | Diff view between two tabs |
63+
| F7 / Shift+F7 | Next / previous diff hunk |
64+
| Alt+Z | Toggle word wrap |
65+
| Ctrl+Plus / Minus / 0 | Zoom in / out / reset |
66+
| F1 | Help |
67+
68+
> On macOS, use Cmd instead of Ctrl.
69+
70+
---
71+
72+
## Right-Click Context Menu
73+
74+
Right-click any line in the log viewer for:
75+
76+
- **Highlight "..."** — highlight the selected text across the file
77+
- **Include / Exclude "..."** — add selection to filter patterns
78+
- **Add Bookmark** / **Bookmark as "..."** — bookmark with optional label
79+
- **Range from here / Range to here** — select a line range for export or review
80+
- **Search from Ln N** — start searching from a specific line
81+
- **Copy Line** / **Copy Selection**
82+
83+
---
84+
85+
## Search Features
86+
87+
Click the search options row to reveal:
88+
89+
- **Regex** — full regular expression support
90+
- **Wildcard** — glob patterns (`*`, `?`)
91+
- **Match Case** / **Whole Word**
92+
- **Start Line** — search from a specific line number
93+
- **Column Config** — analyze CSV/TSV structure, toggle individual column visibility, search within specific columns
94+
95+
LOGAN auto-detects if `ripgrep` (rg) is installed and uses it for 10-100x faster search. A badge in the status bar shows which engine is active.
96+
97+
---
98+
99+
## Filter System
100+
101+
The filter bar supports combining multiple criteria:
102+
103+
- **Include patterns** — lines must match at least one (OR)
104+
- **Exclude patterns** — lines matching any are hidden
105+
- **Level filter** — show only specific log levels
106+
- **Time range** — filter by timestamp window
107+
- **Context lines** — keep N surrounding lines around matches
108+
109+
### Advanced Filter
110+
Build complex queries with groups of rules (`contains`, `not_contains`, `regex`, `level`) joined by AND/OR operators.
111+
112+
### Hidden Match Peek
113+
When a filter is active and search results exist in hidden lines, a peek icon appears. Click it to see those hidden matches with surrounding context.
114+
115+
---
116+
117+
## Analysis & Baselines
118+
119+
### Run Analysis (Ctrl+6)
120+
Detects crashes, errors, top failing components, and suggests filters. Click a suggestion to apply it instantly.
121+
122+
### Baselines
123+
Save an analysis snapshot as a named baseline. Later, compare a different log against it to see:
124+
- **Level shifts** — error/warning percentages changed significantly
125+
- **New crashes** — crash keywords not present in baseline
126+
- **Component changes** — new or missing components
127+
- **Error rate spikes** — component error rate increased 2x or more
128+
- **Time pattern variance** — log density changed drastically
129+
130+
---
131+
132+
## Split & Diff View
133+
134+
- **Split view** — open two files side by side with synchronized scrolling
135+
- **Diff view** (Ctrl+Shift+D) — compare current tab against the next tab, with added/removed lines color-coded
136+
- **F7 / Shift+F7** — jump between diff hunks
137+
- **Ctrl+PageDown / PageUp** — cycle through split files
138+
139+
---
140+
141+
## Live Connections (Ctrl+Shift+P)
142+
143+
Connect to up to 4 live log sources simultaneously:
144+
145+
### Serial
146+
Select a USB serial port and baud rate. Incoming data is captured to a temp file and displayed live.
147+
148+
### Logcat (Android)
149+
Select an ADB device, optionally set a filter pattern. Captures `adb logcat` output.
150+
151+
### SSH
152+
Create or load an SSH profile, specify a remote file path to tail. Supports key-based auth with passphrase prompts. Also provides SFTP browsing to download remote files.
153+
154+
Each connection shows a card with a minimap preview, line count, duration, and stop/restart/save/remove controls.
155+
156+
---
157+
158+
## Notes Drawer (Ctrl+Shift+N)
159+
160+
A slide-up text editor for freeform notes. Auto-saves to `.logan/<filename>.notes.txt` next to the log file.
161+
162+
Use **Ctrl+Shift+S** (or right-click > Save Snippet) to append selected lines to the notes file.
163+
164+
---
165+
166+
## Terminal (Ctrl+\`)
167+
168+
A Quake-style drop-down terminal from the top of the window. Full shell access (bash/zsh) without leaving LOGAN. Resizable by dragging the bottom edge.
169+
170+
---
171+
172+
## Bookmark Sets & Highlight Groups
173+
174+
### Bookmark Sets
175+
Save all current bookmarks as a named set. Load a set later to restore bookmarks — useful for switching between investigation contexts on the same file.
176+
177+
### Highlight Groups
178+
Save all current highlights as a named group. Load groups to quickly apply a color scheme for a specific log format or investigation.
179+
180+
Both are stored globally in `~/.logan/` and available across files.
181+
182+
---
183+
184+
## Search Configs & Sessions
185+
186+
Save frequently-used search patterns with colors as **search configs**. Group related configs into **sessions** and batch-run them against any file. Results show colored ranges on the minimap.
187+
188+
---
189+
190+
## Video Sync (Ctrl+9)
191+
192+
Drag a video file into the Video Sync panel. Set a sync point linking a log line number to a video timestamp. As you scroll the log, the video seeks to the corresponding time — useful for correlating screen recordings with log output.
193+
194+
---
195+
196+
## Datadog Integration
197+
198+
Fetch logs directly from Datadog into LOGAN:
199+
1. Enter your API key and App key
200+
2. Select your Datadog site (US1, US3, EU, or custom)
201+
3. Write a query and choose a time range
202+
4. Fetched logs open automatically in a new tab
203+
204+
---
205+
206+
## Column Filtering
207+
208+
For structured logs (CSV, TSV, or fixed-width):
209+
1. Click **Analyze Columns** in the search options
210+
2. LOGAN auto-detects the delimiter and column structure
211+
3. Toggle individual columns on/off
212+
4. Search and display only the columns you care about
213+
214+
---
215+
216+
## Minimap
217+
218+
The vertical bar on the right edge shows a visual overview of the entire file:
219+
- **Red** = errors, **Yellow** = warnings
220+
- **Colored marks** = highlights, search matches, bookmarks
221+
- **Click** to jump, **drag** to scroll
222+
- Live connection cards show a horizontal density minimap per connection
223+
224+
---
225+
226+
## Data Storage
227+
228+
| Location | Contents |
229+
|----------|----------|
230+
| `.logan/<file>.json` | Bookmarks, file-specific highlights, history (next to log file) |
231+
| `.logan/<file>.notes.txt` | Notes for that file |
232+
| `~/.logan/highlights.json` | Global highlights |
233+
| `~/.logan/highlight-groups.json` | Saved highlight groups |
234+
| `~/.logan/bookmark-sets.json` | Saved bookmark sets |
235+
| `~/.logan/baselines.db` | Baseline snapshots (SQLite) |
236+
| `~/.logan/redaction-rules.json` | Custom redaction rules for MCP/AI |
237+
238+
If the directory next to the log file is read-only, LOGAN falls back to `~/.logan/` with a keyed approach.
239+
240+
---
241+
242+
## MCP Server (AI Integration)
243+
244+
LOGAN exposes an MCP server for AI agents (like Claude Code) to control it programmatically:
245+
246+
```bash
247+
npm run mcp
248+
```
249+
250+
The AI can open files, search, filter, analyze, manage bookmarks/highlights, save/compare baselines, and navigate — all through natural language. The server communicates via stdio (MCP protocol) to LOGAN's HTTP API on localhost.
251+
252+
Sensitive data (IPs, emails, tokens) is automatically redacted before being sent to the AI. Custom redaction rules can be added in `~/.logan/redaction-rules.json`.

0 commit comments

Comments
 (0)