                                                                   progressNotifier: progressNotifier)
         } else {
           let debugInfo = processDebugInfo ?? "<No Debug Info>"
-          self.localizedMessageLogger.infoMessage(debugInfo)
+          queuedInfoMessages.append(debugInfo)
           self.localizedMessageLogger.error("BazelInfoExtractionFailed",
                                             comment: "Error message for when a Bazel extractor did not complete successfully. Details are logged separately.",
                                             details: BazelErrorExtractor.firstErrorLinesFromString(debugInfo))
           throw ExtractorError.buildFailed
         }
       } catch let e as NSError {
-        self.localizedMessageLogger.infoMessage(e.localizedDescription)
         self.localizedMessageLogger.error("BazelInfoExtractionFailed",
                                           comment: "Error message for when a Bazel extractor did not complete successfully. Details are logged separately.",
-                                          details: "Failed to read all build events. See the error above.")
+                                          details: "Failed to read all build events. Error: \(e.localizedDescription)")
         throw ExtractorError.buildFailed
       }
     }


      guard process.terminationStatus == 0 else {
        let debugInfo = processDebugInfo ?? "<No Debug Info>"
        localizedMessageLogger.infoMessage(debugInfo)
        localizedMessageLogger.error("BazelInfoExtractionFailed",
                                     comment: "Error message for when a Bazel extractor did not complete successfully. Details are logged separately.",
                                     details: BazelErrorExtractor.firstErrorLinesFromString(debugInfo))

      _ = semaphore.wait(timeout: DispatchTime.distantFuture)
      guard process.terminationStatus == 0, !artifacts.isEmpty else {
        let debugInfo = processDebugInfo ?? "<No Debug Info>"
        queuedInfoMessages.append(debugInfo)
        localizedMessageLogger.error("BazelInfoExtractionFailed",
                                     comment: "Error message for when a Bazel extractor did not complete successfully. Details are logged separately.",
                                     details: BazelErrorExtractor.firstErrorLinesFromString(debugInfo))
