Status LoggerPlugin::call(const PluginRequest& request, PluginResponse& response) { QueryLogItem item; std::vector<StatusLogLine> intermediate_logs; if (request.count("string") > 0) { return this->logString(request.at("string")); } else if (request.count("snapshot") > 0) { return this->logSnapshot(request.at("snapshot")); } else if (request.count("init") > 0) { deserializeIntermediateLog(request, intermediate_logs); this->init(request.at("init"), intermediate_logs); return Status(0); } else if (request.count("status") > 0) { deserializeIntermediateLog(request, intermediate_logs); return this->logStatus(intermediate_logs); } else if (request.count("event") > 0) { return this->logEvent(request.at("event")); } else if (request.count("action") && request.at("action") == "features") { size_t features = 0; features |= (usesLogStatus()) ? LOGGER_FEATURE_LOGSTATUS : 0; features |= (usesLogEvent()) ? LOGGER_FEATURE_LOGEVENT : 0; return Status(features); } else { return Status(1, "Unsupported call to logger plugin"); } }
Status LoggerPlugin::call(const PluginRequest& request, PluginResponse& response) { QueryLogItem item; std::vector<StatusLogLine> intermediate_logs; if (request.count("string") > 0) { auto status = Status(0, "OK"); if (request.count("category") && request.at("category") == "event") { // Optionally overload the logEvent method, but receive a duplicate. // message to log string. deserializeQueryLogItemJSON(request.at("event"), item); status = this->logEvent(item); } if (status.ok()) { return this->logString(request.at("string")); } else { return status; } } else if (request.count("snapshot") > 0) { deserializeQueryLogItemJSON(request.at("snapshot"), item); return this->logSnapshot(item); } else if (request.count("health") > 0) { deserializeQueryLogItemJSON(request.at("health"), item); return this->logHealth(item); } else if (request.count("init") > 0) { deserializeIntermediateLog(request, intermediate_logs); return this->init(request.at("init"), intermediate_logs); } else if (request.count("status") > 0) { deserializeIntermediateLog(request, intermediate_logs); return this->logStatus(intermediate_logs); } else { return Status(1, "Unsupported call to logger plugin"); } }
Status LoggerPlugin::call(const PluginRequest& request, PluginResponse& response) { QueryLogItem item; std::vector<StatusLogLine> intermediate_logs; if (request.count("string") > 0) { return this->logString(request.at("string")); } else if (request.count("snapshot") > 0) { return this->logSnapshot(request.at("snapshot")); } else if (request.count("init") > 0) { deserializeIntermediateLog(request, intermediate_logs); this->init(request.at("init"), intermediate_logs); return Status(this->usesLogStatus() ? 0 : 1); } else if (request.count("status") > 0) { deserializeIntermediateLog(request, intermediate_logs); return this->logStatus(intermediate_logs); } else { return Status(1, "Unsupported call to logger plugin"); } }