ROS rosconsole.config 共同记录配置文件 XML?

ROS rosconsole.config logging configuration file in common XML?

ROS 日志记录配置文件是否也可以使用众所周知的 XML 格式?

如:

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

而不是标准的属性格式,例如如下所示:

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..ref = stdout
logger.app.appenderRef..ref = file

(c.f.link)

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

log4cxx 与您提到的 XML 格式的 PropertyConfigurator for the known ROS format and the DOMConfigurator 之间的差异。

不幸的是,ROS 没有预见到使用 DOMConfigurator 的方法,因为在 implementation (log4cxx::PropertyConfigurator::configure(config_file);) 中查看表明,PropertyConfigurator 在这里被硬编码使用。

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