Try to avoid printf or cout statements for printing debug messages inside ROS nodes.
We can use rosconsole (http://wiki.ros.org/rosconsole) for printing debug messages from ROS nodes, instead of printf or cout functions. Rosconsole offers timestamped output messages, automatically logs the printed messages, and provides five different levels of verbosity. For detailed coding styles, refer to http://wiki.ros.org/CppStyleGuide.