ros_demo系列——roslog

ros_demo系列——roslog

为了平常有选择地输出调试数据到终端上,则选择rosconsole来输出ros相关信息,后续可能会考虑使用glog来管理

参考资料

  • 输出指令一般格式为:ROS_ [ STREAM ][ < other > ]
  • 个人总结为以下的输出方式会好点

cpp

#include <ros/ros.h>
//console可以不添加,但是不添加的话,就没得自动显示函数
#include <ros/console.h>
#include <string>

//用于设置打印对应信息
std::string PRINT_MODE;

int main(int argc,char** argv)
{
    ros::init(argc, argv, "demo_log");
    ros::NodeHandle n;
    ros::NodeHandle pn("~");
    pn.param<std::string>("PRINT_MODE",PRINT_MODE,"");

    ros::Rate loop_rate(10);    
    ROS_INFO_STREAM("PRINT_MODE : " << PRINT_MODE);
    while(ros::ok())    
    {
        //INFO可以换成DEBUG,WARN,ERROR,FATAL
        ROS_INFO("printf ROS_INFO");
        ROS_INFO_STREAM("stream"<<" ROS_INFO_STREAM");

        //DEBUG 需要结合console和logger_level调节出来显示,一般都不打印出来
        ROS_DEBUG("printf ROS_DEBUG");
        
        //有条件选择打印啥
        ROS_INFO_COND(PRINT_MODE=="1","printf 1");
        ROS_INFO_STREAM_COND(PRINT_MODE=="2","printf" <<" 2");
        ROS_INFO_STREAM_COND(PRINT_MODE=="3","printf 3");

        loop_rate.sleep();
    }

    return 0;
}

roslaunch

<launch>
    <node name="demo_log" pkg="demo_log" type="demo_log" output="screen">
        <param name="PRINT_MODE" type="string" value="2"/>
    </node>
</launch>

demo在以下网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值