【问题标题】:Completely disable ROS from logging to log files?完全禁止 ROS 记录日志文件?
【发布时间】:2021-12-19 09:08:10
【问题描述】:

我正在尝试禁止 ROS 创建任何 ROS 文件,但我找不到任何实际可行的解决方案。

我试过了 log4j.threshold=OFFhttp://wiki.ros.org/rosconsole 中所述,但这对我不起作用。

我也尝试设置export ROSOUT_DISABLE_FILE_LOGGING=True,但这也无济于事。

我正在使用 ROS melodic,我正在使用 bazel 构建包而不是 CMake。

我完全被卡住了,ROS 是否有其他方法不生成任何日志文件。

【问题讨论】:

标签: python c++ logging ros bazel


【解决方案1】:

没有一种“好”的方法可以完全禁用所有日志记录,但是,它可以很好地解决。

首先,您可以阻止 rosout'rosmaster --core 旋转。这将严格启动 roscore 而不是输出。

对于roscpp 日志记录,您可以添加一个额外的编译标志-DROSCONSOLE_MIN_SEVERITY=5 ${ROS_COMPILE_FLAGS},然后重建您的系统。这将大部分禁用 cpp 日志记录,但有轻微例外;其中一个内部记录器似乎绕过了这一点。

对于rospy,有一个日志配置文件位于/opt/ros/$ROS_DISTRO/etc/ros/python_logging.conf/opt/ros/$ROS_DISTRO/share/rosgraph/conf/python_logging.conf。如果您删除这些文件,python 将跳过日志记录完成。请注意,我不推荐这种方法。

另一个可能有用的解决方案是将日志目录设置为临时存储系统。 export ROS_LOG_OUT=/tmp/roslogs。这仍将写入日志文件,但所有条目将在重新启动时从驱动器中删除。

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 2015-02-23
    • 2019-12-23
    • 2021-06-09
    • 2023-03-20
    • 2018-01-29
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    相关资源
    最近更新 更多