diff --git a/src/main/java/com/google/devtools/build/skyframe/ErrorInfo.java b/src/main/java/com/google/devtools/build/skyframe/ErrorInfo.java
index af48c30..97e4284 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ErrorInfo.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ErrorInfo.java
@@ -13,6 +13,7 @@
 // limitations under the License.
 package com.google.devtools.build.skyframe;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
@@ -126,8 +127,15 @@
 
   @Override
   public String toString() {
-    return String.format("<ErrorInfo exception=%s rootCauses=%s cycles=%s>",
-        exception, rootCauses, cycles);
+    return MoreObjects.toStringHelper(this)
+        .add("exception", exception)
+        .add("rootCauses", rootCauses)
+        .add("cycles", cycles)
+        .add("isCatastrophic", isCatastrophic)
+        .add("rootCauseOfException", rootCauseOfException)
+        .add("isDirectlyTransient", isDirectlyTransient)
+        .add("isTransitivelyTransient", isTransitivelyTransient)
+        .toString();
   }
 
   /**
diff --git a/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java b/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
index c612376..632f23d 100644
--- a/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
+++ b/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
@@ -27,7 +27,7 @@
  * batch requests ordered alphabetically by sky key string representation.
  */
 public class DeterministicHelper extends NotifyingHelper {
-  static final MemoizingEvaluator.GraphTransformerForTesting MAKE_DETERMINISTIC =
+  public static final MemoizingEvaluator.GraphTransformerForTesting MAKE_DETERMINISTIC =
       makeTransformer(Listener.NULL_LISTENER, /*deterministic=*/ true);
 
   public static MemoizingEvaluator.GraphTransformerForTesting makeTransformer(
