diff --git a/platform/lang-impl/src/com/intellij/diagnostic/logging/LogConsoleBase.java b/platform/lang-impl/src/com/intellij/diagnostic/logging/LogConsoleBase.java index a6786e065b27..92b395cbdd73 100644 --- a/platform/lang-impl/src/com/intellij/diagnostic/logging/LogConsoleBase.java +++ b/platform/lang-impl/src/com/intellij/diagnostic/logging/LogConsoleBase.java @@ -18,6 +18,7 @@ package com.intellij.diagnostic.logging; import com.intellij.execution.filters.TextConsoleBuilder; import com.intellij.execution.filters.TextConsoleBuilderFactory; +import com.intellij.execution.impl.ConsoleBuffer; import com.intellij.execution.impl.ConsoleViewImpl; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; @@ -370,6 +371,13 @@ public abstract class LogConsoleBase extends AdditionalTabComponent implements L if (editor != null) { myOriginalDocument = new StringBuffer(editor.getDocument().getText()); } + } else { + if (ConsoleBuffer.useCycleBuffer()) { + final int toRemove = myOriginalDocument.length() - ConsoleBuffer.getCycleBufferSize(); + if (toRemove > 0) { + myOriginalDocument.delete(0, toRemove); + } + } } return myOriginalDocument; } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java index 58a10d52811c..4d8d9a7f3be0 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java @@ -119,12 +119,12 @@ public class ConsoleBuffer { myContentTypesToNotStripOnCycling.add(ConsoleViewContentType.USER_INPUT); } - private static boolean useCycleBuffer() { + public static boolean useCycleBuffer() { final String useCycleBufferProperty = System.getProperty("idea.cycle.buffer.size"); return useCycleBufferProperty == null || !"disabled".equalsIgnoreCase(useCycleBufferProperty); } - private static int getCycleBufferSize() { + public static int getCycleBufferSize() { final String cycleBufferSizeProperty = System.getProperty("idea.cycle.buffer.size"); if (cycleBufferSizeProperty == null) return 1024 * 1024; try {