[466403] Exceptions while writing to the log file should not be logged (more than once)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=466403
diff --git a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/SetupTaskPerformer.java b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/SetupTaskPerformer.java
index 6eb162f..2c80174 100644
--- a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/SetupTaskPerformer.java
+++ b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/SetupTaskPerformer.java
@@ -202,6 +202,8 @@
private PrintStream logStream;
+ private boolean logStreamError;
+
private ProgressLogFilter logFilter = new ProgressLogFilter();
private IProgressMonitor progressMonitor;
@@ -1669,15 +1671,19 @@
return;
}
- try
+ if (!logStreamError)
{
- PrintStream logStream = getLogStream(true);
- logStream.println("[" + DATE_TIME.format(new Date()) + "] " + line);
- logStream.flush();
- }
- catch (Exception ex)
- {
- SetupCorePlugin.INSTANCE.log(ex);
+ try
+ {
+ PrintStream logStream = getLogStream(true);
+ logStream.println("[" + DATE_TIME.format(new Date()) + "] " + line);
+ logStream.flush();
+ }
+ catch (Exception ex)
+ {
+ SetupCorePlugin.INSTANCE.log(ex, IStatus.WARNING);
+ logStreamError = true;
+ }
}
progress.log(line, filter, severity);