private void PushLog(bool allPassed)
{
if (string.IsNullOrEmpty(Settings.ResultsBucket) &&
string.IsNullOrEmpty(Settings.ResultsTopic))
return;
WriteInfo("Preparing to push logs");
try
{
var timestamp = DateTime.Now.ToString(timestampFormat);
var key = string.Format(s3KeyFormat, TestTypeNamePrefix, timestamp);
var snsSubject = string.Format(snsSubjectFormat, TestTypeNamePrefix, timestamp, allPassed ? "PASSED" : "FAILED");
// if SNS fails, we may see the reason in the S3 push, so keep this order and use LogWriter.ToString()
PushLogToSNS(snsSubject, LogWriter.ToString());
PushLogToS3(key, LogWriter.ToString());
}
catch(Exception e)
{
WriteError("Error pushing logs: {0}", e);
}
WriteInfo("Logs pushed");
}