Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions ros2component/ros2component/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import rcl_interfaces.msg

import rclpy
from rclpy.logging import get_logging_severity_from_string
from rclpy.parameter import get_parameter_value
from rclpy.task import Future

Expand Down Expand Up @@ -230,7 +231,14 @@ def load_component_into_container(
if node_namespace is not None:
request.node_namespace = node_namespace
if log_level is not None:
request.log_level = log_level
try:
severity = get_logging_severity_from_string(log_level)
except RuntimeError:
raise RuntimeError(
f"Invalid log level '{log_level}'. "
'Valid values are: debug, info, warn, error, fatal'
)
request.log_level = int(severity)
if remap_rules is not None:
request.remap_rules = remap_rules
if parameters is not None:
Expand Down Expand Up @@ -366,7 +374,11 @@ def add_component_arguments(parser):
argument.completer = ComponentTypeNameCompleter(package_name_key='package_name')
parser.add_argument('-n', '--node-name', help='Component node name')
parser.add_argument('--node-namespace', help='Component node namespace')
parser.add_argument('--log-level', help='Component node log level')
parser.add_argument(
'--log-level', type=str.lower,
choices=['debug', 'info', 'warn', 'error', 'fatal'],
help='Component node log level (debug, info, warn, error, fatal)'
)
parser.add_argument(
'-r', '--remap-rule', action='append', dest='remap_rules',
help="Component node remapping rules, in the 'from:=to' form"
Expand Down