[ros-users] beginner logging question

Michael Styer michael at styer.net
Mon Jul 12 17:33:36 UTC 2010


Thanks very much for the feedback. After a little digging, it turns out
that the DHCP server on our subnet had decided to give my workstation a
new IP address that the robot didn't know about. I configured the
network connection manually with the correct IP address and it all works
as expected.

Thanks for the clarification re the 'output' parameter as well; I don't
think I quite understood what it does, but all is clear now.

Mike

On Fri, 2010-07-09 at 18:17 -0700, Tully Foote wrote:
> Michael, It sounds like you do not have your netowrk setup quite
> right.  ROS requires bidirectional communication between hosts, by
> self reported hostname.  Often hostnames of computers are not setup
> correctly.  I suspect that if you set you ROS_HOSTNAME or ROS_IP for
> your workstation and possibly robot it will work.
>  See http://www.ros.org/wiki/ROS/EnvironmentVariables
> 
> 
> For clarification:
> If the logging level is set at or below the event, will go to rosout
> and appear in rxconsole.  
> 
> 
> Roslaunch doesn't effect the logging level.  The output="screen" or
> output="log" simply redirects the stdout pipe to one or the other.
>  You should see the same thing on the screen running a node on the
> command line or in roslaunch(either on the screen or in the log file).
> 
> 
> Tully
> 
> On Fri, Jul 9, 2010 at 6:02 PM, Michael Styer <michael at styer.net>
> wrote:
>         OK, fwiw I've found a partial solution to the problem. I wrote
>         a little
>         test app (pasted below). On my workstation I set
>         ROS_MASTER_URI=http://robot:11311 and run rxconsole. Then, if
>         I run my
>         test app in a terminal on my workstation, I get output at the
>         terminal
>         but not in rxconsole. If I SSH to the robot and run my test
>         app there, I
>         get output both on the terminal and on rxconsole. The same is
>         true of
>         the real node I'm writing.
>         
>         Is that expected? I.e., should I expect rosconsole messages
>         from a node
>         running on machine A to be reported by machine B? It seems
>         like I
>         should, but that's not what's happening. Could there be
>         something not
>         configured correctly in our setup?
>         
>         Thanks for your help!
>         
>         Mike
>         
>         PS: here's my test app. I just run it with 'rosrun <package>
>         log_test'.
>         
>         #include <ros/ros.h>
>         
>         int main(int argc, char** argv)
>         {
>          if (argc<2) {
>            printf("Usage: %s <log_level>\n", argv[0]);
>            return 0;
>          }
>          ros::init(argc, argv, "log_test");
>         
>          ros::NodeHandle nh;
>          ros::Rate loop_rate(1);
>          while (nh.ok()) {
>            switch (atoi(argv[1])) {
>                case 1:
>                    ROS_DEBUG("Beep");
>                    break;
>                case 2:
>                    ROS_INFO("Beep");
>                    break;
>                case 3:
>                    ROS_WARN("Beep");
>                    break;
>                case 4:
>                    ROS_ERROR("Beep");
>                    break;
>            }
>            loop_rate.sleep();
>         
>          }
>         }
>         
>         On Fri, 2010-07-09 at 16:59 -0700, Michael Styer wrote:
>         > Thanks for the suggestion, Jan. I just tried that now, and
>         noticed the
>         > 'output' parameter to the node tag. If I set it to 'screen',
>         I get my
>         > debug messages on the terminal; if I set it to 'log', they
>         don't appear
>         > on the terminal, but they don't appear in rxconsole either.
>         >
>         > I also just noticed that no messages from my node get sent
>         to rxconsole,
>         > regardless of level. Changing ROS_DEBUG to ROS_WARN still
>         doesn't make
>         > them appear. So it doesn't seem to be a problem with the
>         logging level.
>         > I'll keep digging into it, but thanks for your help.
>         >
>         > Mike
>         >
>         > On Sat, 2010-07-10 at 01:29 +0200, "Jan Tünnermann" wrote:
>         > > Hello Mike,
>         > >
>         > > I'm quite a beginner myself, so I'm not sure if I can
>         help.
>         > > I noticed that starting nodes by directly executing the
>         binary would lead
>         > > to ROS_INFO output to stdout. Starting via a .launch-file
>         and roslaunch
>         > > leads to output in the rxconsole. I'm not sure if that
>         could be the issue
>         > > in your case...
>         > >
>         > > jan
>         > >
>         > >
>         > > Am Sa, 10.07.2010, 01:10 schrieb Michael Styer:
>         > > > Hello,
>         > > >
>         > > > I have an elementary question about logging in roscpp.
>         > > >
>         > > > In my node, I have a bunch of ROS_DEBUG("hello world")
>         statements that
>         > > > I'd like to see in rxconsole. At first, when I ran the
>         node, I didn't
>         > > > see those statements anywhere. Reading through the
>         documentation I
>         > > > figured out that I can change the default logging level
>         for my package
>         > > > by creating a local rosconsole.config file; I did that,
>         and now I see my
>         > > > debugging statements printed to stdout in the terminal
>         where I started
>         > > > the node.
>         > > >
>         > > > But I still don't see any of those statements in
>         rxconsole (there are
>         > > > lots of other things printed to rxconsole, though). I
>         have all the
>         > > > "Severity" boxes checked, I don't have the "Enabled" box
>         checked, and
>         > > > when I bring up rxloggerlevel, the level for my package
>         is "Debug".
>         > > >
>         > > > What am I missing?
>         > > >
>         > > > Thanks!
>         > > >
>         > > > Mike
>         > > >
>         > > >
>         > > > _______________________________________________
>         > > > ros-users mailing list
>         > > > ros-users at code.ros.org
>         > > > https://code.ros.org/mailman/listinfo/ros-users
>         > > >
>         > > >
>         > >
>         > > _______________________________________________
>         > > ros-users mailing list
>         > > ros-users at code.ros.org
>         > > https://code.ros.org/mailman/listinfo/ros-users
>         >
>         >
>         > _______________________________________________
>         > ros-users mailing list
>         > ros-users at code.ros.org
>         > https://code.ros.org/mailman/listinfo/ros-users
>         
>         
>         _______________________________________________
>         ros-users mailing list
>         ros-users at code.ros.org
>         https://code.ros.org/mailman/listinfo/ros-users
>         
> 
> 
> 
> -- 
> Tully Foote
> Systems Engineer
> Willow Garage, Inc.
> tfoote at willowgarage.com
> (650) 475-2827
> 
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users





More information about the ros-users mailing list