in cloudwatch_logs_common/src/log_publisher.cpp [77:119]
bool LogPublisher::CreateGroup()
{
auto status =
this->cloudwatch_facade_->CheckLogGroupExists(this->log_group_);
if (!checkIfConnected(status)) {
return false;
}
AWS_LOGSTREAM_DEBUG(__func__, "CheckLogGroupExists code:" << status);
if (CW_LOGS_SUCCEEDED == status) {
this->run_state_.setValue(Aws::CloudWatchLogs::LOG_PUBLISHER_RUN_CREATE_STREAM);
AWS_LOGSTREAM_DEBUG(__func__, "Found existing log group: " << log_group_);
return true;
}
status = this->cloudwatch_facade_->CreateLogGroup(this->log_group_);
if (!checkIfConnected(status)) {
return false;
}
if (CW_LOGS_SUCCEEDED == status) {
this->run_state_.setValue(Aws::CloudWatchLogs::LOG_PUBLISHER_RUN_CREATE_STREAM);
AWS_LOGSTREAM_DEBUG(__func__, "Successfully created log group.");
return true;
} else if (CW_LOGS_LOG_GROUP_ALREADY_EXISTS == status) {
this->run_state_.setValue(Aws::CloudWatchLogs::LOG_PUBLISHER_RUN_CREATE_STREAM);
AWS_LOGSTREAM_INFO(__func__, "Log group already exists.");
return true;
} else {
AWS_LOGSTREAM_ERROR(__func__, "Failed to create log group, status: "
<< status);
return false;
}
}