diff options
author | Thomas Watson | 2013-02-11 19:42:07 +0000 |
---|---|---|
committer | Thomas Watson | 2013-02-11 19:42:07 +0000 |
commit | 1cb7a9514ecb5934a4e2d3c6320bde13c11afb19 (patch) | |
tree | 89c99f0a5e444555a80d118ab3101691e2d2fc16 | |
parent | 4ab4579a0a8f21bdaf78ab1f0714b02cf39d1d15 (diff) | |
download | rt.equinox.framework-1cb7a9514ecb5934a4e2d3c6320bde13c11afb19.tar.gz rt.equinox.framework-1cb7a9514ecb5934a4e2d3c6320bde13c11afb19.tar.xz rt.equinox.framework-1cb7a9514ecb5934a4e2d3c6320bde13c11afb19.zip |
Bug 365155 - logs in configuration dir grow endlessly v20130211-194207I20130212-0800
-rw-r--r-- | bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/EclipseLogHook.java | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/EclipseLogHook.java b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/EclipseLogHook.java index f4555e6b5..905d1a1f8 100644 --- a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/EclipseLogHook.java +++ b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/internal/adaptor/EclipseLogHook.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. + * Copyright (c) 2006, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,11 +39,13 @@ public class EclipseLogHook implements HookConfigurator, AdaptorHook { private final EclipseLogWriter perfWriter; public EclipseLogHook() { - String logFileProp = FrameworkProperties.getProperty(EclipseStarter.PROP_LOGFILE); - boolean enabled = "true".equals(FrameworkProperties.getProperty(PROP_LOG_ENABLED, "true")); //$NON-NLS-1$ //$NON-NLS-2$ - if (logFileProp != null) { - logWriter = new EclipseLogWriter(new File(logFileProp), EQUINOX_LOGGER_NAME, enabled); - } else { + String logFilePath = FrameworkProperties.getProperty(EclipseStarter.PROP_LOGFILE); + if (logFilePath == null) { + logFilePath = Long.toString(System.currentTimeMillis()) + EclipseLogHook.LOG_EXT; + } + + File logFile = new File(logFilePath); + if (!logFile.isAbsolute()) { Location location = LocationManager.getConfigurationLocation(); File configAreaDirectory = null; if (location != null) @@ -51,21 +53,25 @@ public class EclipseLogHook implements HookConfigurator, AdaptorHook { configAreaDirectory = new File(location.getURL().getFile()); if (configAreaDirectory != null) { - String logFileName = Long.toString(System.currentTimeMillis()) + EclipseLogHook.LOG_EXT; - File logFile = new File(configAreaDirectory, logFileName); - FrameworkProperties.setProperty(EclipseStarter.PROP_LOGFILE, logFile.getAbsolutePath()); - logWriter = new EclipseLogWriter(logFile, EQUINOX_LOGGER_NAME, enabled); - } else - logWriter = new EclipseLogWriter((Writer) null, EQUINOX_LOGGER_NAME, enabled); + logFile = new File(configAreaDirectory, logFilePath); + } else { + logFile = null; + + } } - File logFile = logWriter.getFile(); + boolean enabled = "true".equals(FrameworkProperties.getProperty(PROP_LOG_ENABLED, "true")); //$NON-NLS-1$ //$NON-NLS-2$ if (logFile != null) { + FrameworkProperties.setProperty(EclipseStarter.PROP_LOGFILE, logFile.getAbsolutePath()); + logWriter = new EclipseLogWriter(logFile, EQUINOX_LOGGER_NAME, enabled); + File perfLogFile = new File(logFile.getParentFile(), "performance.log"); //$NON-NLS-1$ perfWriter = new EclipseLogWriter(perfLogFile, PERF_LOGGER_NAME, true); } else { + logWriter = new EclipseLogWriter((Writer) null, EQUINOX_LOGGER_NAME, enabled); perfWriter = new EclipseLogWriter((Writer) null, PERF_LOGGER_NAME, true); } + if ("true".equals(FrameworkProperties.getProperty(EclipseStarter.PROP_CONSOLE_LOG))) //$NON-NLS-1$ logWriter.setConsoleLog(true); logServiceManager = new LogServiceManager(logWriter, perfWriter); |