Skip to content

robobe/termilog_ws

Repository files navigation

Termilog

ROS2 node that show and filter /rosout topic by:

  • log level
  • node names
  • text in message
    • fuzzy search
    • regex search

Packing

export ROSDISTRO_INDEX_URL=file://`pwd`/index-v4.yaml 
export ROS_DISTRO=humble 
rosdep update --rosdistro humble

install

dependencies

pip install textual
# textual-dev # for development
pip install rapidfuzz

usage

ros2 run terminlog viewer.py

alt text

#run with predefine nodes name

ros2 run terminlog viewer.py --ros-args -p nodes_to_capture:="[node_a, node_b]"
# or

ros2 run terminlog viewer.py --ros-args --params-file params.yaml

params.yaml

/terminlog_viewer:
  ros__parameters:
    log_queue_size: 100
    nodes_to_capture:
    - node_a
    - node_b

alt text


filter by log level

filter log level show all message with selected filter and above


filter by node name

  • filter unselected node names

alt text


filter free text

Filter by node name or message use fuzzy or regex filters

alt text


realtime

Enabled / Disabled realtime

When realtime enable each message push the vertical scroll down disabled allow the user to scroll up without interference


clear all filters

Clear / reset all filters


pallette

clear: clear storage, terminlog save X last log event can config by log_queue_size parameter, the action clear this storage


Test installation

docker run -it --rm \
--net host \
--user user \
--hostname test \
-v `pwd`/deb:/tmp/debs \
humble:dev \
/bin/bash

issue

run from launch

The node need to run as separate terminal.

ExecuteProcess(
            cmd=['gnome-terminal', '--','ros2', "run", "terminlog", "viewer.py"],
            output='screen',
            shell=False 
        )

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published