ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Logging data to different files

asked 2011-11-29 05:26:03 -0500

fwh gravatar image

I am looking for a way to have a bit more control over where/how ROS logs data beyond the screen/log output parameter for nodes in launch files. Named loggers only give more fine-grained control over verbosity levels but still all lines end up in the same file *-stdout.log file.

Ideally I would like no (or minimal) output going to screen, and all output going to one of two files: one for "data" (number, etc. to analyze later) and another one for "events" (such that tailing that file lets me check what's going on in the system).

Is there a ROS way of doing this, or has anyone solved a similar problem before?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-11-29 05:54:38 -0500

tfoote gravatar image

Logging "data" to the console outputs is kind of abusing the system. Data sent over the rosconsole interfaces gets transmitted over the network to any console attached, such as rxconsole and dashboards. If you're logging data over that interface you will incur significant overhead for the entire system as it is streamed to all outputs and then ignored.

I suggest that you look at simply writing your data to file and collect it after the run for analysis. This is done all the time, and is basically the only way to log high volume data.

There's definitely a potential feature request for a tool to collect logged data after a run, but that's pretty complicated due to bandwidth and disk space constraints and would need to be well thought out.

edit flag offensive delete link more

Question Tools


Asked: 2011-11-29 05:26:03 -0500

Seen: 915 times

Last updated: Nov 29 '11