Contents
Deprecated
rx packages are replaced by rqt, which is available for fuerte and later.
rqt_console is a replacement.
Overview
rxconsole is a viewer in the rxtools package that displays messages being published to rosout. It collects messages over time, and lets you view them in more detail, as well as allowing you to filter messages by severity and text.
Sending messages to rxconsole is done differently in each client library: C++, Python
Usage
Assuming you have ROS installed, you can invoke rxconsole by just typing:
rxconsole
Message List
The list view shows all of the messages, updating in real time as they arrive. The list displays all the information in the roslib/Log message broadcast on rosout:
Message
- The message specified by the user, e.g. in the screenshot above "hello world..."
Severity
- The severity level of the message, e.g. Debug, Info, etc.
Node
- The name of the node which broadcast the message
Time
- The time at which the message was broadcast
Topics
- The topics advertised by the node broadcasting the message
Location
Combines the file, function and line using colons, e.g. /u/jfaust/ros/base/pkgs/ros_tutorials/roscpp_tutorials/talker/talker.cpp:main:92
There are two operations you can use on the items in the list. A double click will bring up all the information about that message in a separate box:
A right click will pop up a menu allowing you to filter the list based on some aspect of the selected message:
Filtering
You can filter the message list in two ways, by severity and by text.
Severity
Filtering by severity allows you to exclude items of a specific severity. Unchecking any of the boxes will exclude items of that severity from the list.
Text
Filtering by text allows you to include or exclude items based on a textual pattern you specify. The button allows you to add filters, and the next to each filter allows you to remove it.
Let's look at each of the options in the filters, in order from left to right:
Enabled
- Allows you to disable this filter without removing it entirely
Text Box
- This is where you tell the filter what text to use
Include/Exclude
This determines the type of the filter. If the filter is of type Include, only messages which match the specified text will be included in the list. If the filter is of type Exclude, messages which match the text will not appear in the list.
Regex
- Allows you to use a regular expression in the filter text. If this is not checked, standard wildcard characters are allowed (* and ?). An invalid regular expression will be highlighted in red.
From
Allows you to specify which fields of the message should be matched against. Only Message, Node, Location and Topics are allowed.
Filters are applied in order, and every filter must be "passed" in order for a message to appear in the list. An Include filter passes if the message matches the text. An Exclude filter passes if the message does not match the text.
Setup
The setup dialog (accessed through the Setup button) allows you to specify a few options related to the messages:
Topic
Allows you to specify the topic to receive the messages on. Defaults to /rosout_agg, which is the aggregated stream coming from the rosout node (automatically started by roscore). If you are not running a rosout node you can change this the /rosout
Buffer Size
This is the number of messages to keep before throwing away old ones. Defaults to 20,000. Changing this will effect the responsiveness of filtering.
Logger Levels
The Levels... button pops up an rxloggerlevel frame, which allows you to change roscpp nodes' logger levels at runtime.
Tutorials
See the rospy_tutorials/Tutorials/Logging page. It will help you use rosout to publish error, info and debug messages and view them in rxconsole.