Fixed bug 413143: [backport] Builder debug info: build/needbuildstack logs instead of writing to console
diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
index f0706ec..1a12af6 100644
--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java
@@ -14,6 +14,8 @@
  *******************************************************************************/
 package org.eclipse.core.internal.events;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.*;
 import org.eclipse.core.internal.dtree.DeltaDataTree;
 import org.eclipse.core.internal.resources.*;
@@ -825,8 +827,13 @@
 	private void hookStartBuild(IBuildConfiguration[] configs, int trigger) {
 		building = true;
 		if (Policy.DEBUG_BUILD_STACK) {
-			IStatus info = new Status(IStatus.INFO, ResourcesPlugin.PI_RESOURCES, 1, "Starting build: " + debugTrigger(trigger), new RuntimeException().fillInStackTrace()); //$NON-NLS-1$
-			Policy.log(info);
+			StringWriter writer = new StringWriter();
+			writer.write("Starting build: " + debugTrigger(trigger) + " from:\n"); //$NON-NLS-1$ //$NON-NLS-2$
+			new RuntimeException().fillInStackTrace().printStackTrace(new PrintWriter(writer));
+			String str = writer.toString();
+			if (str.endsWith("\n")) //$NON-NLS-1$
+				str = str.substring(0, str.length() - 2);
+			Policy.debug(str);
 		}
 		if (Policy.DEBUG_BUILD_INVOKING) {
 			overallTimeStamp = System.currentTimeMillis();