A fast, keyboard-centric terminal viewer for Automotive DLT (Diagnostic Log and Trace) files.
Analyze AUTOSAR DLT logs directly in your terminal — no GUI needed. Works over SSH on test benches, in CI pipelines, and inside Docker containers.
| Pain Point | dlt-tui Solution |
|---|---|
| dlt-viewer requires a desktop GUI | Works in any terminal — SSH, CI runners, containers |
| Opening multi-GB DLT files is slow | Async streaming parser — starts displaying before full load |
| Finding the right log is tedious | Instant regex search + compound filters (Level × APP × CTX) |
| Compressed logs need manual extraction | Transparently reads .dlt, .dlt.gz, and .dlt.zip |
| Mouse-heavy workflows slow you down | Vim-style navigation — hands never leave the keyboard |
- Built-in File Explorer — Browse directories and open files without leaving the TUI
- Log Table View — ECU ID, APP ID, CTX ID, Log Level, Timestamp, and Payload at a glance
- Log Detail and Hex Dump — Inspect raw payload bytes for deep protocol analysis
- Color-coded Log Levels — Fatal (red), Error (light red), Warn (yellow), Info (green), Debug (blue), Verbose (gray)
- Real-time Filtering — Stack multiple filters to isolate exactly what you need:
/— Regex text search across payloadsl— Filter by minimum log levela— Filter by APP IDc— Filter by CTX IDC— Clear all filters instantly
- Live TCP Connection — Connect directly to a running dlt-daemon for real-time log streaming
- Compression Support — Directly open
.gzand.zipcompressed DLT files - Security Hardened — Zip bomb protection (500MB limit), terminal injection sanitization
cargo install dlt-tuigit clone https://github.com/tkmsikd/dlt-tui.git
cd dlt-tui
cargo build --release# Open file explorer in current directory
dlt-tui
# Open a specific directory
dlt-tui /path/to/log/directory/
# Directly open one or multiple DLT files
dlt-tui /path/to/log1.dlt /path/to/log2.dlt.gz
# Connect to a running dlt-daemon over TCP
dlt-tui --connect localhost:3490
# Typical ADB workflow for IVI development
adb forward tcp:3490 tcp:3490
dlt-tui --connect localhost:3490| Key | Action |
|---|---|
j / Down |
Move down |
k / Up |
Move up |
Ctrl+f / Page Down |
Page down |
Ctrl+b / Page Up |
Page up |
Ctrl+d |
Half page down |
Ctrl+u |
Half page up |
g / Home |
Jump to top |
G / End |
Jump to bottom |
Enter |
Open directory / Load file |
b |
Batch load all files in dir |
q |
Quit |
| Key | Action |
|---|---|
j / Down |
Scroll down |
k / Up |
Scroll up |
Ctrl+f / Page Down |
Page down |
Ctrl+b / Page Up |
Page up |
Ctrl+d |
Half page down |
Ctrl+u |
Half page up |
Left / Right |
Scroll payload horizontally |
Shift+Left/Right |
Scroll payload horizontally fast |
g / Home |
Jump to first log |
G / End |
Jump to last log |
Enter |
Open detail view with hex dump |
/ |
Search text (regex supported) |
l |
Filter by log level (F/E/W/I/D/V) |
a |
Filter by APP ID |
c |
Filter by CTX ID |
C |
Clear all filters |
S |
Save filter block to .dlt-tui.toml |
L |
Load filter block from .dlt-tui.toml |
F |
Toggle auto-scroll (tail mode) |
t |
Toggle delta time ($\Delta$t) |
E |
Export filtered logs to file |
q / Esc |
Back to File Explorer |
| Key | Action |
|---|---|
j / k |
Navigate between log entries |
q / Esc |
Back to Log Viewer |
In any filter input mode, press Enter to apply or Esc to cancel and reset the filter.
SSH into your target hardware and inspect DLT logs on the spot — no need to copy files back to your workstation.
ssh ecu-bench "cat /var/log/dlt/*.dlt" > combined.dlt && dlt-tui combined.dltIntegrate log inspection into your CI pipeline. When a test fails, quickly triage the issue:
dlt-tui ./test-results/ecu_log_$(date +%Y%m%d).dlt.gzStack filters to isolate exactly what you need:
- Press
l, typeW, pressEnter(show warnings and above only) - Press
a, typeDIAG, pressEnter(narrow to diagnostics module) - Press
/, typeCAN, pressEnter(find CAN-related messages) - Press
Enteron a suspicious log to inspect the hex dump
- Page-up / Page-down scrolling
- Horizontal scroll for long payloads
- Bookmarking and log annotation
- Saved filter configurations (
.dlt-tui.toml) - Multi-file / directory batch loading
- Timestamp delta display between messages
- DLT lifecycle and session tracking
- Export filtered logs to file
- Plugin system for custom decoders (SOME/IP, UDS, etc.)
Contributions are welcome. See CONTRIBUTING.md for guidelines.
git clone https://github.com/tkmsikd/dlt-tui.git
cd dlt-tui
cargo testThis project is licensed under the MIT License.
