Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
jazzy

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
kilted

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
lyrical

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
rolling

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
galactic

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
iron

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

log_view package from log_view repo

log_view

ROS Distro
humble

Package Summary

Version 0.5.0
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-31
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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
  • bag source (when loading from bag files)

log_viewer also supports text searches with three pattern modes (literal, regex, and template) 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.

Loading from Bag Files

log_viewer can load logs directly from one or more rosbag2 bag files instead of subscribing to a live ROS topic:

ros2 run log_view log_viewer /path/to/bag [/path/to/bag2 ...]

In this mode no ROS subscription is created. All messages from the supplied bags are loaded before the viewer starts, sorted chronologically. The status bar shows the log count and the bag source(s) rather than the system time:

logs: 1234 from bag: /path/to/bag

When multiple bags are provided, a bag source filter panel (CTRL-b) becomes available. It lists each bag with its message count and lets you toggle individual bags on or off to include or exclude their messages from the view. Within the panel, pressing i inverts the selection and CTRL-a selects all bags.

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.

Pattern Syntax

Filter, exclude, and search inputs all support the same three matching modes:

Mode Syntax Description
Literal text Case-insensitive substring match (default)
Regex /pattern/ or /pattern/i ECMAScript regular expression; add i flag for case-insensitive
Template prefix {placeholder} suffix Fixed text with typed gaps

Template placeholders:

Placeholder Description
{*} or {} Wildcard — any non-whitespace token

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Add structured pattern matching for filter, exclude, and search inputs supporting three modes:
    • Literal (default): case-insensitive substring match.
    • Regex: /pattern/ or /pattern/i (case-insensitive flag).
    • Template: fixed text with {placeholder} gaps for numeric comparisons ({>N}, {<N}, {>=N}, {<=N}, {=N}, {N..M}), token alternation ({a|b|c}), and wildcards ({*} or {}).
  • Add single-step match navigation with n (next match) and N (previous match).
  • Add match counter to the status bar as match: N of M.
  • Add blinking highlight on the current search match row; off-screen indicators (</>) also blink for the current match.
  • Fix focus initialization when restoring filter and exclude patterns from preferences.

0.5.0 (2026-05-28)

  • Add loading logs from one or more bag files.
  • Add bag source panel to toggle per bag filtering.
  • Fix navigation in node selection panel when the panel has no scroll bar.
  • Fix restoring selected whitelist nodes after clearing logs.

0.4.0 (2026-05-22)

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.

0.3.3 (2026-05-20)

  • 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.
  • Improved selection controls.

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 Y when 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)

  • Use default C++ version (#16)
  • Disable mouse move events on exit. (#12)

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
kinetic

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-22
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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

Preferences

The preferences panel (CTRL-k) provides the following settings:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.
  • 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.
  • Improved selection controls.

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 Y when 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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
melodic

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-22
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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

Preferences

The preferences panel (CTRL-k) provides the following settings:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.
  • 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.
  • Improved selection controls.

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 Y when 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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange

Package symbol

log_view package from log_view repo

log_view

ROS Distro
noetic

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-22
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The log_view package provides a ncurses based terminal GUI for viewing and filtering published ROS log messages. This is an alternative to rqt_console and swri_console that doesn't depend on qt and can be run directly in a terminal.

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

Preferences

The preferences panel (CTRL-k) provides the following settings:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package log_view

Forthcoming

  • Added subscription to /clock to display sim time on status bar.
  • Updated stamp format selection to preview the stamp format change.
  • Improved formatting of nodes, preferences, and details panels.
  • Improved search navigation.
  • Fixed exit to only require a single ctrl-c press.
  • Fixed message counts for nodes when loading messages from previous sessions.
  • 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.
  • Improved selection controls.

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 Y when 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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged log_view at Robotics Stack Exchange