Skip to content

Documentation for the existing logging system #2026

@tylerjw

Description

@tylerjw

Background

Right now the existing logging system is not well documented. Doing this will help us better understand how to make improvements to the existing system and inform users how they should use the logging system.

This came out of the discussion in this PR: #2000

Questions this should answer

  • What are the RCUTILS_ macros, and where should they be used?
  • What are the RCLCPP_ macros, and where should they be used?
  • What is the logging system for the launch system and how should it be used?
  • Why do the RCLCPP_ macros require a logger object to be passed, while the RCUTILS_ and ROS 1 macros did not?
  • Where do logs go?
  • How does the per-process logger interact with the launch loggers?
  • How do I configure the loggers?
  • What are the environmental variables that can affect the logging system?

How should this be organized?

  1. What are the concepts and patterns a user of ROS 2 needs to understand to use the logging system? (tutorial?)
  2. What are the concepts and details of the logger someone contributing to ROS 2 itself needs to understand? (concepts or contributing?)

Who will do this work?

I've volunteered @JafarAbdi to work on this with me as he created the PRs that started this discussion (that I want to be merged). I can't be assigned this task as I'm not a member of the ros2 github org, but you can consider me assigned. @clalancette has agreed to review this work.

What already exists?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions