def logCacheDataStatus[A]()

in hq/app/services/CacheService.scala [193:216]


  def logCacheDataStatus[A](cacheName: String, data: Seq[(AwsAccount, Either[FailedAttempt, A])]): Unit = {
    val (successful, failed) = data.partition { case (_, result) => result.isRight }

    if (failed.isEmpty) {
      logger.info(s"$cacheName updated: All ${data.size} accounts successful")
    } else {
      val failedAccountsDetails = failed.flatMap {
        case (account, Left(failedAttempt)) =>
          Some(s"${account.name}: ${failedAttempt.logMessage}")
        case _ => None
      }.mkString(", ")
      val logMessage = s"$cacheName updated: ${successful.size}/${data.size} accounts succeeded. Failed accounts: $failedAccountsDetails"
      failed.flatMap {
        case (_, Left(failedAttempt)) =>
          failedAttempt.firstException
        case _ => None
      }.headOption match {
        case None =>
          logger.warn(logMessage)
        case Some(exampleCausedBy) =>
          logger.warn(s"$logMessage - see stacktrace for an example cause", exampleCausedBy)
      }
    }
  }