Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.3.2 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-05-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need ROS to be running to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the COLCON_PREFIX_PATH
environment variable set when a ROS 2 workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if COLCON_PREFIX_PATH is not set or does not point to
a valid directory.
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
Forthcoming
- Added support for UTF8 glyphs in log messages.
- Added support for ANSI color codes in log messages.
- Fixed display for terminals limited to 8 colors.
- Fixed session boundaries to not be treated as normal log entries.
- Fixed details panel to scroll vertically when insufficient space is available.
- Fixed help panel to scroll vertically when insufficient space is available.
- Fixed preference panel to scroll vertically when insufficient space is available.
- Updated node panel scrolling to make it consistent with other panels.
0.3.2 (2026-05-04)
- Scope log and preference storage to the active ROS 2 workspace via
COLCON_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Contributors: Marc Alban
0.3.1 (2026-05-04)
- Persist logs to disk in
~/.local/share/log_view/with configurable rotation and max size. - Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and filter settings.
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.3.0 (2026-03-29)
- Add details panel with per-message metadata display.
- Enable static analysis and linting tests.
- Contributors: Marc Alban
0.2.7 (2026-02-18)
- Replace ament_target_dependencies with target_link_libraries.
- Contributors: Marc Alban
0.2.5 (2024-11-25)
- Fix mvwprintw format-security error
- Contributors: Marc Alban
0.2.4 (2024-07-24)
- Fix build error caused by mvwprintw. (#19)
- Contributors: Marc Alban
0.2.3 (2024-07-08)
0.2.2 (2022-07-30)
- Improve message handling so that log messages are not dropped. (#8)
- Contributors: Marc Alban
0.2.1 (2022-07-07)
- Remove unused boost include.
- Contributors: Marc Alban
0.2.0 (2022-07-04)
- Port to ROS2
- Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
File truncated at 100 lines see the full file
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.1.4 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | devel |
| Last Updated | 2026-05-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need roscore to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the CMAKE_PREFIX_PATH
environment variable set when a catkin workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if CMAKE_PREFIX_PATH is not set or points only at the
system ROS installation (i.e. no catkin workspace has been sourced).
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
0.1.4 (2026-05-05)
- Scope log and preference storage to the active catkin workspace via
CMAKE_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Persist logs to disk with configurable rotation and max size.
- Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and timestamp format settings.
- Add message details panel (CTRL-d) with per-message metadata display.
- Add shortcut to clear message history (CTRL-r).
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
- Contributors: Marc Alban
0.1.0 (2020-11-22)
- Initial working version.
- Initial code.
- Contributors: Marc Alban
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| roscpp | |
| rosgraph_msgs | |
| libyaml-cpp-dev |
System Dependencies
| Name |
|---|
| xclip |
| libncurses-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.1.4 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | devel |
| Last Updated | 2026-05-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need roscore to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the CMAKE_PREFIX_PATH
environment variable set when a catkin workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if CMAKE_PREFIX_PATH is not set or points only at the
system ROS installation (i.e. no catkin workspace has been sourced).
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
0.1.4 (2026-05-05)
- Scope log and preference storage to the active catkin workspace via
CMAKE_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Persist logs to disk with configurable rotation and max size.
- Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and timestamp format settings.
- Add message details panel (CTRL-d) with per-message metadata display.
- Add shortcut to clear message history (CTRL-r).
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
- Contributors: Marc Alban
0.1.0 (2020-11-22)
- Initial working version.
- Initial code.
- Contributors: Marc Alban
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| roscpp | |
| rosgraph_msgs | |
| libyaml-cpp-dev |
System Dependencies
| Name |
|---|
| xclip |
| libncurses-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged log_view at Robotics Stack Exchange
Package Summary
| Version | 0.1.4 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/hatchbed/log_view.git |
| VCS Type | git |
| VCS Version | devel |
| Last Updated | 2026-05-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Marc Alban
Authors
- Marc Alban
log_view
log_viewer is an ncurses text UI for viewing rosout logs.

Motivation
Receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
Problem
Many rosout log messages don’t get printed to the terminal in the normal course when there are lots of nodes/messages. There is also not a convenient way to filter and navigate through them in real time.
swri_console provides most of the desired functionality very well, but is Qt based and requires a graphical interface.
Solution
log_viewer is very similar in concept and design to swri_console, but uses ncurses instead of Qt for the interface.
Log messages can be filtered based on:
- log level
- node
- whitelist text filter
- exclude text filter
log_viewer also supports text searches and jumping from match to match.
Log messages are copied to the clipboard by selecting them.
Like swri_console, log_viewer doesn’t need roscore to start and will automatically connect/reconnect when it becomes available.
Log Persistence
log_viewer can optionally persist log messages to disk and reload them on startup. This is useful for preserving log history across sessions.
Log files are stored under <workspace>/.log_view/ as timestamped text files
(log_view_YYYYMMDD_HHMMSS.log), where <workspace> is derived from the CMAKE_PREFIX_PATH
environment variable set when a catkin workspace is sourced. This keeps logs isolated per
workspace. The format is human-readable and can be inspected with standard tools such as cat,
grep, and less.
Persistence is automatically disabled if CMAKE_PREFIX_PATH is not set or points only at the
system ROS installation (i.e. no catkin workspace has been sourced).
Session boundaries are marked in the log with separator lines:
-------- Session Started At 2026-05-04 09:15:00 --------
-------- Recording Ended At 2026-05-04 09:47:23 --------
Log persistence is configured in the preferences panel (CTRL-k):
| Setting | Description |
|---|---|
| Persist Logs to Disk | Enable/disable saving and loading logs |
| Log Rotate Size | Start a new file after this size (1–100 MB) |
| Max Total Log Size | Delete oldest files to stay under this limit (10 MB–1 GB) |
Clearing the message history (CTRL-r) also deletes all persisted log files.
Keybindings
CTRL-c Exit log viewer
CTRL-h Show/hide help screen
Up Arrow Scroll up
Down Arrow Scroll down
Left Arrow Scroll left
Right Arrow Scroll right
Page Up Scroll up a screen
Page Down Scroll down a screen
Home Scroll to first message
End Scroll to last message and follow
Tab Change focus to next input
F1 Show/hide debug level
F2 Show/hide info level
F3 Show/hide warning level
F4 Show/hide error level
F5 Show/hide fatal level
F7 Enable/disable node filter
CTRL-a Select all log lines and copy to clipboard
CTRL-d Show/hide message details
CTRL-e Enable/disable text exclude filter
CTRL-f Enable/disable text include filter
CTRL-i Invert node selection
CTRL-k Show/hide preferences
CTRL-n Show/hide node selection
CTRL-r Clear message history
CTRL-s Search for matching string
CTRL-x Clear search
Backspace Prev search match
Enter Next search match
File truncated at 100 lines see the full file
Changelog for package log_view
0.1.4 (2026-05-05)
- Scope log and preference storage to the active catkin workspace via
CMAKE_PREFIX_PATH(stored under<workspace>/.log_view/). - Show file paths in preferences panel; display a warning when persistence is unavailable.
- Persist logs to disk with configurable rotation and max size.
- Load persisted logs on startup.
- Add preferences panel (CTRL-k) for persistence and timestamp format settings.
- Add message details panel (CTRL-d) with per-message metadata display.
- Add shortcut to clear message history (CTRL-r).
- Show filtered log count in status bar (
logs: X of Ywhen a filter is active). - Contributors: Marc Alban
0.1.3 (2021-03-01)
- Prevent help screen text from wrapping.
- Make help screen modal.
- Add keybindings for selecting all nodes and inverting the node selection.
- Update README.
- Fix compiler warnings.
- Contributors: Marc Alban
0.1.2 (2020-11-26)
- Install binary log_viewer to package destination instead of global destination.
- Contributors: Marc Alban
0.1.1 (2020-11-24)
- Fixes for build farm.
- Contributors: Marc Alban
0.1.0 (2020-11-22)
- Initial working version.
- Initial code.
- Contributors: Marc Alban
Package Dependencies
| Deps | Name |
|---|---|
| catkin | |
| roscpp | |
| rosgraph_msgs | |
| libyaml-cpp-dev |
System Dependencies
| Name |
|---|
| xclip |
| libncurses-dev |