Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set rmw log severity #918

Draft
wants to merge 3 commits into
base: rolling
Choose a base branch
from

Conversation

christophebedard
Copy link
Member

Closes #915

This makes rcl call rmw_set_log_severity if the default level is set, e.g. with --ros-args --log-level debug.

Signed-off-by: Christophe Bedard [email protected]

Signed-off-by: Christophe Bedard <[email protected]>
@christophebedard
Copy link
Member Author

Not sure if this is the best place to put it, but it feels like the simplest solution, and it's right next to rcutils_logging_set_default_logger_level so it does make sense.

@christophebedard
Copy link
Member Author

I've also added a test: 90ed0db

@@ -76,6 +77,14 @@ rcl_logging_configure_with_output_handler(
if (log_levels) {
default_level = (int)log_levels->default_logger_level;
rcutils_logging_set_default_logger_level(default_level);
if (RCUTILS_LOG_SEVERITY_UNSET != default_level) {
rmw_ret_t rmw_status = rmw_set_log_severity((rmw_log_severity_t)default_level);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What you are doing here makes a certain sense; if we are changing the default logging level, we should change it everywhere.

On the other hand, I'm not sure what semantic we really want --log-level to have. As it stands right now, the semantic is more-or-less "core ROS 2 code". If we add this code in, it becomes "core ROS 2 code + RMW backend code". I'm not entirely sure that's what we want to do.

I think this would be helped by spelling out what the log-levels mean in a more rigorous way, probably as part of ros2/design#314 .

Copy link
Member Author

@christophebedard christophebedard May 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand. The fact that rmw implementations don't support the "unset" logging level/state definitely highlights this.

Are there any plans to tackle that soon-ish after Galactic? I can't commit to doing ros2/design#314, but I can probably help, and I can certainly implement whatever is in the design document for this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any plans to tackle that soon-ish after Galactic?

The honest answer is that I don't know right now. We've been concentrating on Galactic, so we don't have a roadmap for H-Turtle yet. I do hope it is something that the ROS 2 community gets to for H-Turtle, as I think it is important.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. I'll see what I can do (in a few weeks) then.

I'll leave this draft here for now.

@clalancette clalancette added the more-information-needed Further information is required label May 20, 2021
@audrow audrow changed the base branch from master to rolling June 28, 2022 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
more-information-needed Further information is required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make rcl call rmw_set_log_severity
3 participants