[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