Improved debug logging in TC CommandManager

This commit is contained in:
Nav
2022-04-24 16:48:26 +01:00
parent e662d0b57a
commit 0c4b5a864e

View File

@@ -28,9 +28,11 @@ namespace Bloom::TargetController
) { ) {
using SuccessResponseType = typename CommandType::SuccessResponseType; using SuccessResponseType = typename CommandType::SuccessResponseType;
Logger::debug("Issuing " + CommandType::name + " command to TargetController");
const auto commandId = command->id; const auto commandId = command->id;
Logger::debug(
"Issuing " + CommandType::name + " command (ID: " + std::to_string(commandId) + ") to TargetController"
);
TargetControllerComponent::registerCommand(std::move(command)); TargetControllerComponent::registerCommand(std::move(command));
auto optionalResponse = TargetControllerComponent::waitForResponse(commandId, timeout); auto optionalResponse = TargetControllerComponent::waitForResponse(commandId, timeout);
@@ -48,12 +50,16 @@ namespace Bloom::TargetController
const auto errorResponse = dynamic_cast<Responses::Error*>(response.get()); const auto errorResponse = dynamic_cast<Responses::Error*>(response.get());
Logger::debug( Logger::debug(
"TargetController returned error in response to " + CommandType::name + " command. Error: " "TargetController returned error in response to " + CommandType::name + " command (ID: "
+ errorResponse->errorMessage + std::to_string(commandId) + "). Error: " + errorResponse->errorMessage
); );
throw Exceptions::Exception(errorResponse->errorMessage); throw Exceptions::Exception(errorResponse->errorMessage);
} }
Logger::debug(
"Delivering response for " + CommandType::name + " command (ID: " + std::to_string(commandId) + ")"
);
// Only downcast if the command's SuccessResponseType is not the generic Response type. // Only downcast if the command's SuccessResponseType is not the generic Response type.
if constexpr (!std::is_same_v<SuccessResponseType, Responses::Response>) { if constexpr (!std::is_same_v<SuccessResponseType, Responses::Response>) {
assert(response->getType() == SuccessResponseType::type); assert(response->getType() == SuccessResponseType::type);
@@ -64,7 +70,6 @@ namespace Bloom::TargetController
} else { } else {
return std::move(response); return std::move(response);
} }
} }
}; };
} }