@@ -41,15 +41,21 @@ ParameterService::ParameterService(
4141 const std::shared_ptr<rcl_interfaces::srv::GetParameters::Request> request,
4242 std::shared_ptr<rcl_interfaces::srv::GetParameters::Response> response)
4343 {
44+ if (request->names .empty ()) {
45+ RCLCPP_WARN (rclcpp::get_logger (" rclcpp" ), " Received empty get_parameters request" );
46+ return ;
47+ }
48+ RCLCPP_INFO (rclcpp::get_logger (" rclcpp" ), " Received get_parameters request (%s...)" , request->names [0 ].c_str ());
49+
4450 try {
4551 auto parameters = node_params->get_parameters (request->names );
4652 for (const auto & param : parameters) {
4753 response->values .push_back (param.get_value_message ());
4854 }
4955 } catch (const rclcpp::exceptions::ParameterNotDeclaredException & ex) {
50- RCLCPP_DEBUG (rclcpp::get_logger (" rclcpp" ), " Failed to get parameters: %s" , ex.what ());
56+ RCLCPP_ERROR (rclcpp::get_logger (" rclcpp" ), " Failed to get parameters (%s...) : %s" , request-> names [ 0 ]. c_str () , ex.what ());
5157 } catch (const rclcpp::exceptions::ParameterUninitializedException & ex) {
52- RCLCPP_DEBUG (rclcpp::get_logger (" rclcpp" ), " Failed to get parameters : %s" , ex.what ());
58+ RCLCPP_ERROR (rclcpp::get_logger (" rclcpp" ), " Failed to get parameter (%s...) : %s" , request-> names [ 0 ]. c_str () , ex.what ());
5359 }
5460 },
5561 qos_profile, nullptr );
@@ -70,7 +76,7 @@ ParameterService::ParameterService(
7076 return static_cast <rclcpp::ParameterType>(type);
7177 });
7278 } catch (const rclcpp::exceptions::ParameterNotDeclaredException & ex) {
73- RCLCPP_DEBUG (rclcpp::get_logger (" rclcpp" ), " Failed to get parameter types: %s" , ex.what ());
79+ RCLCPP_ERROR (rclcpp::get_logger (" rclcpp" ), " Failed to get parameter types: %s" , ex.what ());
7480 }
7581 },
7682 qos_profile, nullptr );
@@ -83,6 +89,12 @@ ParameterService::ParameterService(
8389 const std::shared_ptr<rcl_interfaces::srv::SetParameters::Request> request,
8490 std::shared_ptr<rcl_interfaces::srv::SetParameters::Response> response)
8591 {
92+ if (request->parameters .empty ()) {
93+ RCLCPP_WARN (rclcpp::get_logger (" rclcpp" ), " Received empty set_parameters request" );
94+ return ;
95+ }
96+ RCLCPP_INFO (rclcpp::get_logger (" rclcpp" ), " Received set_parameters request (%s...)" , request->parameters [0 ].name .c_str ());
97+
8698 // Set parameters one-by-one, since there's no way to return a partial result if
8799 // set_parameters() fails.
88100 auto result = rcl_interfaces::msg::SetParametersResult ();
@@ -91,7 +103,7 @@ ParameterService::ParameterService(
91103 result = node_params->set_parameters_atomically (
92104 {rclcpp::Parameter::from_parameter_msg (p)});
93105 } catch (const rclcpp::exceptions::ParameterNotDeclaredException & ex) {
94- RCLCPP_DEBUG (rclcpp::get_logger (" rclcpp" ), " Failed to set parameter: %s" , ex.what ());
106+ RCLCPP_ERROR (rclcpp::get_logger (" rclcpp" ), " Failed to set parameter (%s...) : %s" , request-> parameters [ 0 ]. name . c_str () , ex.what ());
95107 result.successful = false ;
96108 result.reason = ex.what ();
97109 }
@@ -119,7 +131,7 @@ ParameterService::ParameterService(
119131 auto result = node_params->set_parameters_atomically (pvariants);
120132 response->result = result;
121133 } catch (const rclcpp::exceptions::ParameterNotDeclaredException & ex) {
122- RCLCPP_DEBUG (
134+ RCLCPP_ERROR (
123135 rclcpp::get_logger (" rclcpp" ), " Failed to set parameters atomically: %s" , ex.what ());
124136 response->result .successful = false ;
125137 response->result .reason = " One or more parameters were not declared before setting" ;
@@ -139,7 +151,7 @@ ParameterService::ParameterService(
139151 auto descriptors = node_params->describe_parameters (request->names );
140152 response->descriptors = descriptors;
141153 } catch (const rclcpp::exceptions::ParameterNotDeclaredException & ex) {
142- RCLCPP_DEBUG (rclcpp::get_logger (" rclcpp" ), " Failed to describe parameters: %s" , ex.what ());
154+ RCLCPP_ERROR (rclcpp::get_logger (" rclcpp" ), " Failed to describe parameters: %s" , ex.what ());
143155 }
144156 },
145157 qos_profile, nullptr );
0 commit comments