Fix for bug 55768: audit the logging in runtime
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java index b86147c..0b19987 100644 --- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java +++ b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
@@ -209,6 +209,7 @@ private static final String PROP_SPLASHPATH = "osgi.splashPath"; //$NON-NLS-1$ private static final String PROP_SPLASHLOCATION = "osgi.splashLocation"; //$NON-NLS-1$ private static final String PROP_CLASSPATH = "osgi.frameworkClassPath"; //$NON-NLS-1$ + private static final String PROP_LOGFILE = "osgi.logfile"; //$NON-NLS-1$ private static final String PROP_EOF = "eof"; //$NON-NLS-1$ private static final String PROP_EXITCODE = "eclipse.exitcode"; //$NON-NLS-1$ private static final String PROP_EXITDATA = "eclipse.exitdata"; //$NON-NLS-1$ @@ -1470,14 +1471,22 @@ log.newLine(); } private void computeLogFileLocation() { - if (logFile != null) + String logFileProp = System.getProperty(PROP_LOGFILE); + if (logFileProp != null) { + if (logFile == null || !logFileProp.equals(logFile.getAbsolutePath())){ + logFile = new File(logFileProp); + logFile.getParentFile().mkdirs(); + } return; + } + // compute the base location and then append the name of the log file URL base = buildURL(System.getProperty(PROP_CONFIG_AREA), false); if (base == null) return; - logFile = new File(base.getPath(), ".log"); //$NON-NLS-1$ + logFile = new File(base.getPath(),Long.toString(System.currentTimeMillis()) + ".log"); //$NON-NLS-1$ logFile.getParentFile().mkdirs(); + System.setProperty(PROP_LOGFILE, logFile.getAbsolutePath()); } /**