ROS rosconsole.config 日志记录配置文件在普通 XML 中?

ROS rosconsole.config logging configuration file in common XML?

提问人:marc wellman 提问时间:4/4/2022 更新时间:4/5/2022 访问量:393

问:

ROS日志配置文件也可以使用通用的XML格式吗?

如:

<Configuration>
  <filter  ... />
  <Appenders>
    <appender ... >
      <filter  ... />
    </appender>
    ...
  </Appenders>
  <Loggers>
    <Logger name="name1">
      <filter  ... />
    </Logger>
    ...
    <Root level="level">
      <AppenderRef ref="name"/>
    </Root>
  </Loggers>
</Configuration>

而不是标准的 properties-format,如下所示:

appender.stdout.type = Console
# ... other appender properties
appender.file.type = File
# ... other appender properties
logger.app = INFO, stdout, file
logger.app.name = com.example.app
 
# is equivalent to:
# appender.stdout.type = Console
# appender.stdout.name = stdout
# ...
appender.file.type = File
appender.file.name = file
# ...
logger.app.name = com.example.app
logger.app.level = INFO
logger.app.appenderRef.$1.ref = stdout
logger.app.appenderRef.$2.ref = file

(C.F. 链接)

日志记录 log4j ros log4cxx

评论


答:

2赞 Fruchtzwerg 4/5/2022 #1

您已经认识到,ROS 在后台使用 log4cxx,它也可能支持您提到的 XML 格式。

log4cxx 您提到的已知 ROS 格式的 PropertyConfigurator 和您提到的 XML 格式的 DOMConfigurator 之间的差异。

不幸的是,ROS没有预见到使用DOMConfigurator的方法,因为对实现()的内部进行查看表明,PropertyConfigurator在这里是硬编码的。log4cxx::PropertyConfigurator::configure(config_file);

这意味着:如果不手动更改它并重新编译 ROS,就无法绕过 PropertyConfigurator。

评论

0赞 marc wellman 4/6/2022
这不是我想听到的,但它有帮助。谢谢!