You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Ubuntu20.04上ROS1/Noetic的rospy日志输出格式?

解决ROS1 Noetic日志格式简化问题(无代码修改)

方案1:通过环境变量直接指定日志格式

ROS的Python节点日志格式可通过ROS_PYTHON_LOG_FORMAT环境变量直接覆盖,无需修改配置文件或安装额外包。终端启动节点前执行:

export ROS_PYTHON_LOG_FORMAT="%(levelname)s: %(message)s"

该格式仅保留日志级别与消息内容,剔除时间戳、进程号等冗余字段。若要永久生效,将此行添加至~/.bashrc,再执行source ~/.bashrc即可。

方案2:在launch文件中全局配置

若要统一配置launch文件内所有节点的日志格式,添加<env>标签:

<launch>
  <!-- 设置全局日志格式 -->
  <env name="ROS_PYTHON_LOG_FORMAT" value="%(levelname)s: %(message)s" />
  
  <!-- 你的节点启动指令 -->
  <node name="your_node" pkg="your_package" type="your_node_script.py" />
</launch>

启动该launch文件时,所有Python节点都会采用此简化格式输出日志。

方案3:正确修改系统级日志配置文件

你之前修改/opt/ros/noetic/etc/ros/python_logging.conf未生效,大概率是配置项错误或节点未读取到更新后的配置。正确操作步骤:

  1. 打开配置文件:
sudo nano /opt/ros/noetic/etc/ros/python_logging.conf
  1. 找到[formatter_default]段,修改format字段为目标格式:
[formatter_default]
format=%(levelname)s: %(message)s
datefmt=
class=logging.Formatter
  1. 修改后需完全关闭所有ROS节点/launch进程,再重新启动,确保配置生效。

关于roslog包找不到的说明

ROS Noetic的Python日志功能由rosout与标准logging模块结合实现,不存在单独的roslog包。无需额外安装该包,直接通过上述环境变量或配置文件修改即可调整日志格式。

内容的提问来源于stack exchange,提问作者pitosalas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:22:03