Skip to content

Commit 7ee6285

Browse files
committed
add "--log-level" option for "ros2 component load"
Signed-off-by: Peng Wang <penwang@qti.qualcomm.com>
1 parent ef39b60 commit 7ee6285

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

ros2component/ros2component/api/__init__.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@
3434

3535
COMPONENTS_RESOURCE_TYPE = 'rclcpp_components'
3636

37+
_LOG_LEVEL_MAP = {
38+
'debug': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_DEBUG,
39+
'info': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_INFO,
40+
'warn': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_WARN,
41+
'warning': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_WARN,
42+
'error': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_ERROR,
43+
'fatal': rcl_interfaces.msg.LoggerLevel.LOG_LEVEL_FATAL,
44+
}
45+
3746

3847
def get_package_names_with_component_types():
3948
"""Get the names of all packages that register component types in the ament index."""
@@ -230,7 +239,12 @@ def load_component_into_container(
230239
if node_namespace is not None:
231240
request.node_namespace = node_namespace
232241
if log_level is not None:
233-
request.log_level = log_level
242+
if log_level not in _LOG_LEVEL_MAP:
243+
raise RuntimeError(
244+
f"Invalid log level '{log_level}'. "
245+
'Valid values are: debug, info, warn, error, fatal'
246+
)
247+
request.log_level = _LOG_LEVEL_MAP[log_level]
234248
if remap_rules is not None:
235249
request.remap_rules = remap_rules
236250
if parameters is not None:
@@ -366,7 +380,11 @@ def add_component_arguments(parser):
366380
argument.completer = ComponentTypeNameCompleter(package_name_key='package_name')
367381
parser.add_argument('-n', '--node-name', help='Component node name')
368382
parser.add_argument('--node-namespace', help='Component node namespace')
369-
parser.add_argument('--log-level', help='Component node log level')
383+
parser.add_argument(
384+
'--log-level', type=str.lower,
385+
choices=['debug', 'info', 'warn', 'warning', 'error', 'fatal'],
386+
help='Component node log level (debug, info, warn, error, fatal)'
387+
)
370388
parser.add_argument(
371389
'-r', '--remap-rule', action='append', dest='remap_rules',
372390
help="Component node remapping rules, in the 'from:=to' form"

0 commit comments

Comments
 (0)