2016-09-10 4 views
2

Я хотел бы, чтобы определенный узел в моем ROS-пакете отображал выходные данные на уровне многословия DEBUG, а другие узлы отображались на уровне INFO. Я отдаю себе отчет в rosconsole configuration file, и я в состоянии установить многословие для пакета с:Как установить VERBOSITY в ROS для отдельных узлов?

log4j.logger.ros.my_package=DEBUG 

Однако следующий не работает:

log4j.logger.ros.my_package.my_node=DEBUG 

ответ

2

Самый простой способ работает GUI rqt_logger_level. Если у вас нет графического интерфейса на роботе, вы можете сделать это с помощью сервиса:

rosservice call /my_node/set_logger_level "{logger: 'rosout' level: 'debug'}" 

Заменить my_node и debug для указания уровня узла и детальности, соответственно.

+1

Специальная команда, которая работала для меня: Россервис вызов/[имя]/set_logger_level «{логгер:„rosout“, уровень:„Информация“}» –

+1

Недостаток состоит в том, что вы должны повторно запустить его каждый раз, когда вы перезапустите узел , что может быть очень неудобным (или даже неосуществимым, если речь идет о выходе во время инициализации). – luator