mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-08 09:35:23 +02:00
Bug 148484 - Refactor logging plugin
This commit is contained in:
parent
568e8c931c
commit
891609edee
21 changed files with 888 additions and 1199 deletions
|
@ -12,15 +12,18 @@ Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
|||
Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
|
||||
Contributors:
|
||||
{Name} (company) - description of contribution.
|
||||
Michael Berger (IBM Canada) - 148434 Better user assistance for logging preference page.
|
||||
-->
|
||||
<?NLS TYPE="org.eclipse.help.contexts"?>
|
||||
|
||||
<contexts>
|
||||
|
||||
<context id="pref0000">
|
||||
<description>Settings for the logging of messages.</description>
|
||||
|
||||
</context>
|
||||
<!-- RSE logging -->
|
||||
<context id="rsel0000">
|
||||
<description>This is the RSE Logging preference page.
|
||||
You can specify what severity of messages you wish to log - from informational messages, to warnings, to errors.
|
||||
The debug setting provides the most detail.
|
||||
Messages are logged to the .log file in the .metadata folder of the workspace.
|
||||
</description>
|
||||
</context>
|
||||
|
||||
</contexts>
|
|
@ -9,5 +9,6 @@ Require-Bundle: org.eclipse.ui,
|
|||
org.eclipse.core.runtime
|
||||
Eclipse-LazyStart: true
|
||||
Export-Package: org.eclipse.rse.logging,
|
||||
org.eclipse.rse.logging.performance
|
||||
org.eclipse.rse.logging.performance,
|
||||
org.eclipse.rse.logging.ui
|
||||
Bundle-Vendor: Eclipse.org
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
bin.includes = HelpContexts.xml,\
|
||||
RemoteSystemsLogging.properties,\
|
||||
plugin.properties,\
|
||||
plugin.xml,\
|
||||
style/,\
|
||||
|
|
|
@ -31,7 +31,7 @@ Contributors:
|
|||
|
||||
<!-- Preferences -->
|
||||
<extension point="org.eclipse.core.runtime.preferences">
|
||||
<initializer class="org.eclipse.rse.logging.LoggingPreferenceInitializer"/>
|
||||
<initializer class="org.eclipse.rse.internal.logging.LoggingPreferenceInitializer"/>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2002, 2006 IBM Corporation. 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 http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.logging;
|
||||
|
||||
import java.util.Hashtable;
|
||||
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.rse.logging.Logger;
|
||||
|
||||
public class LoggerController {
|
||||
|
||||
private static Hashtable pluginTable = new Hashtable();
|
||||
|
||||
/**
|
||||
* Return an previously cached Logger instance.<br>
|
||||
* It will return null if no Logger instance has been created
|
||||
* for this plugin before.
|
||||
*/
|
||||
public static Logger getInst(Plugin plugin) {
|
||||
if (pluginTable.containsKey(plugin))
|
||||
return (Logger) pluginTable.get(plugin);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void registerInst(Plugin plugin, Logger logger) {
|
||||
pluginTable.put(plugin, logger);
|
||||
return;
|
||||
}
|
||||
|
||||
public static void freeInst(Plugin plugin) {
|
||||
// get cached instance if one exists.
|
||||
Logger logger = getInst(plugin);
|
||||
// no luck, this means we have an incorrect free, do nothing.
|
||||
if (logger == null)
|
||||
return;
|
||||
logger.freeResources();
|
||||
pluginTable.remove(plugin);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -14,26 +14,30 @@
|
|||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.logging;
|
||||
package org.eclipse.rse.internal.logging;
|
||||
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
||||
import org.eclipse.rse.logging.IRemoteSystemsLogging;
|
||||
import org.eclipse.rse.logging.RemoteSystemsLoggingPlugin;
|
||||
|
||||
/**
|
||||
* This class initializes logging preferences.
|
||||
*/
|
||||
public class LoggingPreferenceInitializer extends AbstractPreferenceInitializer {
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public LoggingPreferenceInitializer() {
|
||||
super();
|
||||
}
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public LoggingPreferenceInitializer() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
|
||||
*/
|
||||
public void initializeDefaultPreferences() {
|
||||
RemoteSystemsLoggingPlugin.getDefault().initializeDefaultPreferences();
|
||||
}
|
||||
/**
|
||||
* @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
|
||||
*/
|
||||
public void initializeDefaultPreferences() {
|
||||
Preferences prefs = RemoteSystemsLoggingPlugin.getDefault().getPluginPreferences();
|
||||
prefs.setDefault(IRemoteSystemsLogging.DEBUG_LEVEL, IRemoteSystemsLogging.LOG_ERROR);
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006 IBM Corporation. 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 http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Initial Contributors:
|
||||
* The following IBM employees contributed to the Remote System Explorer
|
||||
* component that contains this file: David McKnight, Kushal Munir,
|
||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.logging;
|
||||
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
/**
|
||||
* The main plugin class to be used in the desktop.
|
||||
*/
|
||||
public class Activator extends Plugin {
|
||||
|
||||
//The shared instance.
|
||||
private static Activator plugin;
|
||||
|
||||
/**
|
||||
* The constructor.
|
||||
*/
|
||||
public Activator() {
|
||||
plugin = this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon plug-in activation
|
||||
*/
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called when the plug-in is stopped
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
super.stop(context);
|
||||
plugin = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shared instance.
|
||||
*/
|
||||
public static Activator getDefault() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
}
|
|
@ -21,59 +21,39 @@ package org.eclipse.rse.logging;
|
|||
*/
|
||||
public interface IRemoteSystemsLogging {
|
||||
|
||||
|
||||
// All attributes here are static final.
|
||||
/**
|
||||
* Name of the key that controls the logging level.<br>
|
||||
*/
|
||||
String PLUGIN_ID = "org.eclipse.rse.logging";
|
||||
public static final String PLUGIN_ID = "org.eclipse.rse.logging";
|
||||
|
||||
/**
|
||||
* Name of the key that controls the logging level.<br>
|
||||
* (value is "debug_level").
|
||||
*/
|
||||
String DEBUG_LEVEL = "debug_level";
|
||||
|
||||
/**
|
||||
* Name of the key that controls the log location.<br>
|
||||
* (value is "log_location").
|
||||
*/
|
||||
String LOG_LOCATION = "log_location";
|
||||
public static final String DEBUG_LEVEL = "debug_level";
|
||||
|
||||
/**
|
||||
* Set debug_level to this value to get Error messages.<br>
|
||||
* (value is 0).
|
||||
*/
|
||||
int LOG_ERROR = 0;
|
||||
public static final int LOG_ERROR = 0;
|
||||
|
||||
/**
|
||||
* Set debug_level to this value to get Warning messages.<br>
|
||||
* (value is 1).
|
||||
*/
|
||||
int LOG_WARNING = 1;
|
||||
public static final int LOG_WARNING = 1;
|
||||
|
||||
/**
|
||||
* Set debug_level to this value to get Information messages.<br>
|
||||
* (value is 2).
|
||||
*/
|
||||
int LOG_INFO = 2;
|
||||
public static final int LOG_INFO = 2;
|
||||
|
||||
/**
|
||||
* Set debug_level to this value to get Debug messages.<br>
|
||||
* (value is 3).
|
||||
*/
|
||||
int LOG_DEBUG = 3;
|
||||
|
||||
/**
|
||||
* Set log_location to this value to log to a file.<br>
|
||||
* (value is "Log_To_File").
|
||||
*/
|
||||
String LOG_TO_FILE = "Log_To_File";
|
||||
|
||||
/**
|
||||
* Set log_location to this value to log to a Std out.<br>
|
||||
* (value is "Log_To_StdOut").
|
||||
*/
|
||||
String LOG_TO_STDOUT = "Log_To_StdOut";
|
||||
public static final int LOG_DEBUG = 3;
|
||||
|
||||
}
|
|
@ -19,15 +19,11 @@ package org.eclipse.rse.logging;
|
|||
import org.eclipse.core.runtime.ILog;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.MultiStatus;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
|
||||
import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
|
||||
import org.eclipse.rse.internal.logging.RemoteSystemLogListener;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
|
||||
/**
|
||||
* Generic Logger class for handling Remote Systems logging and tracing.<br>
|
||||
|
@ -59,10 +55,9 @@ import org.osgi.framework.Bundle;
|
|||
* out.logInfo("loading myPlugin class.");<br>
|
||||
* //out.logWarning("This is a warning message.");<br>
|
||||
* //out.logError("This is an error.", new Exception());<br>
|
||||
* //if (Logger.DEBUG)<br>
|
||||
* // out.logDebugMessage(<br>
|
||||
* // "myPlugin",<br>
|
||||
* // "this is a debug message from class myPlugin.");<br>
|
||||
* //out.logDebugMessage(<br>
|
||||
* // "myPlugin",<br>
|
||||
* // "this is a debug message from class myPlugin.");<br>
|
||||
* ......<br>
|
||||
* ......<br>
|
||||
* }<br>
|
||||
|
@ -77,70 +72,42 @@ import org.osgi.framework.Bundle;
|
|||
*/
|
||||
public class Logger implements IPropertyChangeListener {
|
||||
|
||||
public static final String Copyright =
|
||||
"(C) Copyright IBM Corp. 2002, 2003. All Rights Reserved.";
|
||||
|
||||
/**
|
||||
* This SHOULD be set to false in production.<br>
|
||||
* Used to compile out developement debug messages.<br>
|
||||
*/
|
||||
public final static boolean DEBUG = false;
|
||||
|
||||
// Cashed workbenchPlugin Log, LogListener instances
|
||||
private ILog systemsPluginLog = null;
|
||||
private RemoteSystemLogListener logListener = null;
|
||||
|
||||
// Cashed Plugin ID, and plugin
|
||||
private String pluginId = null;
|
||||
Plugin systemPlugin = null;
|
||||
private Plugin systemPlugin = null;
|
||||
private int debug_level = IRemoteSystemsLogging.LOG_ERROR;
|
||||
|
||||
// Controls logging level
|
||||
private int debug_level = 0;
|
||||
|
||||
// Captures initialization errors
|
||||
private boolean init_ok = true;
|
||||
|
||||
protected Logger(Plugin systemPlugin) {
|
||||
/**
|
||||
* Creates a new Logger. Invoked by the LoggerFactory.
|
||||
* @param systemPlugin The preferences for this plugin will determine the detail
|
||||
* logged by this logger. This allows different levels of detail to be logged in the
|
||||
* workbench.
|
||||
* @see LoggerFactory#getInst(Plugin);
|
||||
*/
|
||||
Logger(Plugin systemPlugin) {
|
||||
this.systemPlugin = systemPlugin;
|
||||
this.pluginId = systemPlugin.getBundle().getSymbolicName();
|
||||
initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the Logger. The logger uses an ILog from the platform for this particular plugin, and
|
||||
* establishes a listener on that log to format the items placed in the log.
|
||||
*/
|
||||
private void initialize() {
|
||||
try {
|
||||
|
||||
systemsPluginLog = systemPlugin.getLog();
|
||||
if (logListener == null)
|
||||
logListener = new RemoteSystemLogListener(systemPlugin);
|
||||
systemsPluginLog.addLogListener(logListener);
|
||||
|
||||
// get the debug level from plugin Preference store.
|
||||
// note: logListener must be initialized before calling getPreference store!
|
||||
Preferences store = systemPlugin.getPluginPreferences();
|
||||
debug_level = store.getInt(IRemoteSystemsLogging.DEBUG_LEVEL);
|
||||
|
||||
store.addPropertyChangeListener(this);
|
||||
store.addPropertyChangeListener(logListener);
|
||||
|
||||
} catch (Exception e) {
|
||||
// Errors occured during initialize, disable logging.
|
||||
// should never be here. Use Platform logger instead.
|
||||
Bundle bundle = Platform.getBundle(Platform.PI_RUNTIME);
|
||||
Platform.getLog(bundle).log(
|
||||
new Status(
|
||||
IStatus.ERROR,
|
||||
IRemoteSystemsLogging.PLUGIN_ID,
|
||||
IStatus.OK,
|
||||
"could not create Logger for " + pluginId,
|
||||
e));
|
||||
init_ok = false;
|
||||
}
|
||||
systemsPluginLog = systemPlugin.getLog();
|
||||
logListener = new RemoteSystemLogListener(systemPlugin);
|
||||
systemsPluginLog.addLogListener(logListener);
|
||||
Preferences store = systemPlugin.getPluginPreferences();
|
||||
debug_level = store.getInt(IRemoteSystemsLogging.DEBUG_LEVEL);
|
||||
store.addPropertyChangeListener(this);
|
||||
store.addPropertyChangeListener(logListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a Debug message. This is intended to be wrapped as follows:<br>
|
||||
* if (Logger.DEBUG)<br>
|
||||
* Logger.logDebugMessage("someClassName", "someMessage");<br>
|
||||
* Log a Debug message. This is intended to be used as follows:<br>
|
||||
* Logger.logDebugMessage("someClassName", "someMessage");<br>
|
||||
* <br>
|
||||
* and the output will be:<br>
|
||||
* <br>
|
||||
|
@ -153,16 +120,10 @@ public class Logger implements IPropertyChangeListener {
|
|||
* Note that since this message is only for developer debugging, it does not
|
||||
* need to be localized to proper local.<br>
|
||||
*/
|
||||
|
||||
public synchronized void logDebugMessage(
|
||||
String className,
|
||||
String message) {
|
||||
if ((init_ok) && (debug_level >= IRemoteSystemsLogging.LOG_DEBUG)) {
|
||||
// ie: print all INFO, WARNING and ERROR messages
|
||||
MultiStatus debugStatus =
|
||||
new MultiStatus(pluginId, IStatus.OK, className, null);
|
||||
Status infoStatus =
|
||||
new Status(IStatus.OK, pluginId, IStatus.OK, message, null);
|
||||
public synchronized void logDebugMessage(String className, String message) {
|
||||
if (debug_level >= IRemoteSystemsLogging.LOG_DEBUG) {
|
||||
MultiStatus debugStatus = new MultiStatus(pluginId, IStatus.OK, className, null);
|
||||
Status infoStatus = new Status(IStatus.OK, pluginId, IStatus.OK, message, null);
|
||||
debugStatus.add(infoStatus);
|
||||
systemsPluginLog.log(debugStatus);
|
||||
}
|
||||
|
@ -173,16 +134,11 @@ public class Logger implements IPropertyChangeListener {
|
|||
* be localized to proper local.<br>
|
||||
* ie: Resource.getString() should already have been called
|
||||
*/
|
||||
|
||||
public synchronized void logError(String message, Throwable ex) {
|
||||
if ((init_ok) && (debug_level >= IRemoteSystemsLogging.LOG_ERROR)) {
|
||||
// ie: print only ERROR messages
|
||||
if (message == null)
|
||||
message = "";
|
||||
Status errorStatus =
|
||||
new Status(IStatus.ERROR, pluginId, IStatus.OK, message, ex);
|
||||
if (debug_level >= IRemoteSystemsLogging.LOG_ERROR) {
|
||||
if (message == null) message = "";
|
||||
Status errorStatus = new Status(IStatus.ERROR, pluginId, IStatus.OK, message, ex);
|
||||
systemsPluginLog.log(errorStatus);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,28 +147,21 @@ public class Logger implements IPropertyChangeListener {
|
|||
* be localized to proper local.<br>
|
||||
* ie: Resource.getString() should already have been called
|
||||
*/
|
||||
public synchronized void logInfo(String message)
|
||||
{
|
||||
public synchronized void logInfo(String message) {
|
||||
logInfo(message, null);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Log an Information message. Note that the message should already
|
||||
* be localized to proper local.<br>
|
||||
* ie: Resource.getString() should already have been called
|
||||
*/
|
||||
|
||||
public synchronized void logInfo(String message, Throwable ex) {
|
||||
if ((init_ok) && (debug_level >= IRemoteSystemsLogging.LOG_INFO)) {
|
||||
if (message == null)
|
||||
message = "";
|
||||
// ie: print all INFO, WARNING and ERROR messages
|
||||
Status infoStatus =
|
||||
new Status(IStatus.INFO, pluginId, IStatus.OK, message, ex);
|
||||
if (debug_level >= IRemoteSystemsLogging.LOG_INFO) {
|
||||
if (message == null) message = "";
|
||||
Status infoStatus = new Status(IStatus.INFO, pluginId, IStatus.OK, message, ex);
|
||||
systemsPluginLog.log(infoStatus);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -220,8 +169,7 @@ public class Logger implements IPropertyChangeListener {
|
|||
* be localized to proper local.<br>
|
||||
* ie: Resource.getString() should already have been called
|
||||
*/
|
||||
public synchronized void logWarning(String message)
|
||||
{
|
||||
public synchronized void logWarning(String message) {
|
||||
logWarning(message, null);
|
||||
}
|
||||
|
||||
|
@ -231,26 +179,17 @@ public class Logger implements IPropertyChangeListener {
|
|||
* ie: Resource.getString() should already have been called
|
||||
*/
|
||||
public synchronized void logWarning(String message, Throwable ex) {
|
||||
if ((init_ok) && (debug_level >= IRemoteSystemsLogging.LOG_WARNING)) {
|
||||
if (message == null)
|
||||
message = "";
|
||||
// ie: print all WARNING and ERROR messages
|
||||
Status warningStatus =
|
||||
new Status(
|
||||
IStatus.WARNING,
|
||||
pluginId,
|
||||
IStatus.OK,
|
||||
message,
|
||||
ex);
|
||||
if (debug_level >= IRemoteSystemsLogging.LOG_WARNING) {
|
||||
if (message == null) message = "";
|
||||
Status warningStatus = new Status(IStatus.WARNING, pluginId, IStatus.OK, message, ex);
|
||||
systemsPluginLog.log(warningStatus);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public synchronized void setDebugLevel(int level) {
|
||||
debug_level = level;
|
||||
}
|
||||
|
||||
|
||||
public synchronized int getDebugLevel() {
|
||||
return debug_level;
|
||||
}
|
||||
|
@ -260,10 +199,9 @@ public class Logger implements IPropertyChangeListener {
|
|||
}
|
||||
|
||||
/**
|
||||
* Handle changes from Preferences page.
|
||||
* Handle changes from a Preferences page.
|
||||
*/
|
||||
public synchronized void propertyChange(PropertyChangeEvent event) {
|
||||
// refresh the debug level from plugin Preference store
|
||||
Preferences prefs = systemPlugin.getPluginPreferences();
|
||||
debug_level = prefs.getInt(IRemoteSystemsLogging.DEBUG_LEVEL);
|
||||
}
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
|
||||
package org.eclipse.rse.logging;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.rse.internal.logging.LoggerController;
|
||||
|
||||
/**
|
||||
* Factory class for creating Logger instances.<br>
|
||||
|
@ -27,39 +27,31 @@ import org.eclipse.rse.internal.logging.LoggerController;
|
|||
*/
|
||||
public class LoggerFactory {
|
||||
|
||||
private static Hashtable pluginTable = new Hashtable();
|
||||
|
||||
/**
|
||||
* Returns a Logger instance for the given plugin.<br> Note that there is only
|
||||
* a singelton instance of the Logger class per plugin. You are guarenteed the
|
||||
* same instance if one has previously been created.
|
||||
* Returns the Logger instance for a given plugin. There is only
|
||||
* one instance of the Logger class per plugin.
|
||||
*/
|
||||
public static Logger getInst(Plugin plugin) {
|
||||
|
||||
// get cached instance from controller if one exists.
|
||||
Logger inst = LoggerController.getInst(plugin);
|
||||
// no luck, create it and register it with the controller, and create
|
||||
// preference page.
|
||||
if (inst == null) {
|
||||
inst = new Logger(plugin);
|
||||
LoggerController.registerInst(plugin, inst);
|
||||
// Check to see if the Logging plugin out instance has been created yet.
|
||||
// If it has, use it to log
|
||||
if (RemoteSystemsLoggingPlugin.out != null)
|
||||
RemoteSystemsLoggingPlugin.out.logInfo(
|
||||
"Created Logger instance for "
|
||||
+ plugin.getBundle().getSymbolicName());
|
||||
public static Logger getLogger(Plugin plugin) {
|
||||
Logger logger = (Logger) pluginTable.get(plugin);
|
||||
if (logger == null) {
|
||||
logger = new Logger(plugin);
|
||||
pluginTable.put(plugin, logger);
|
||||
}
|
||||
|
||||
return inst;
|
||||
return logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* Frees resources used by the Logger instance for the given plugin.<br>
|
||||
* This methods must be called as part of the the plugin shutdown life cycle.
|
||||
*/
|
||||
public static void freeInst(Plugin plugin) {
|
||||
// delegate to controller
|
||||
LoggerController.freeInst(plugin);
|
||||
* Frees resources used by the Logger instance for the given plugin.<br>
|
||||
* This methods must be called as part of the the plugin shutdown life cycle.
|
||||
*/
|
||||
public static void freeLogger(Plugin plugin) {
|
||||
Logger logger = (Logger) pluginTable.get(plugin);
|
||||
if (logger != null) {
|
||||
logger.freeResources();
|
||||
pluginTable.remove(plugin);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -14,7 +14,7 @@
|
|||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.logging;
|
||||
package org.eclipse.rse.logging;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
|
@ -26,27 +26,22 @@ import org.eclipse.core.runtime.ILogListener;
|
|||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
|
||||
import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
|
||||
import org.eclipse.rse.logging.IRemoteSystemsLogging;
|
||||
|
||||
/**
|
||||
* Log Listener is a sink for messages coming from Logger.
|
||||
*/
|
||||
public class RemoteSystemLogListener implements ILogListener, IPropertyChangeListener {
|
||||
class RemoteSystemLogListener implements ILogListener, IPropertyChangeListener {
|
||||
|
||||
private PrintWriter log = null;
|
||||
private File outputFile = null;
|
||||
private boolean log_to_stdout = false;
|
||||
private Plugin plugin = null;
|
||||
|
||||
/**
|
||||
* Create a new log listener for a plugin.
|
||||
* @param plugin The plugin for which to create a log listener.
|
||||
*/
|
||||
public RemoteSystemLogListener(Plugin plugin) {
|
||||
this.plugin = plugin;
|
||||
IPath path = plugin.getStateLocation().addTrailingSeparator().append(".log");
|
||||
outputFile = path.toFile();
|
||||
if ((outputFile != null) && (outputFile.exists())) {
|
||||
|
@ -61,13 +56,8 @@ public class RemoteSystemLogListener implements ILogListener, IPropertyChangeLis
|
|||
*/
|
||||
private void initialize() {
|
||||
try {
|
||||
Preferences store = plugin.getPluginPreferences();
|
||||
String log_location = store.getString(IRemoteSystemsLogging.LOG_LOCATION);
|
||||
if ((log_location != null) && (log_location.equalsIgnoreCase(IRemoteSystemsLogging.LOG_TO_STDOUT))) {
|
||||
doLogToView();
|
||||
} else {
|
||||
doLogToFile();
|
||||
}
|
||||
freeResources();
|
||||
log = new PrintWriter(new BufferedWriter(new FileWriter(outputFile.toString(), true)), true);
|
||||
} catch (Exception e) {
|
||||
log = null;
|
||||
System.err.println("Exception in RemoteSystemLogListener.initialize(): " + e.getMessage());
|
||||
|
@ -75,35 +65,11 @@ public class RemoteSystemLogListener implements ILogListener, IPropertyChangeLis
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs to standard output.
|
||||
*/
|
||||
private void doLogToView() {
|
||||
// make sure we free resources first
|
||||
freeResources();
|
||||
// log
|
||||
log = new PrintWriter(System.out, true);
|
||||
// cach last state
|
||||
log_to_stdout = true;
|
||||
}
|
||||
|
||||
private void doLogToFile() throws Exception {
|
||||
// make sure we free resources first
|
||||
freeResources();
|
||||
// log
|
||||
log =
|
||||
new PrintWriter(
|
||||
new BufferedWriter(new FileWriter(outputFile.toString(), true)),
|
||||
true);
|
||||
// cache last state
|
||||
log_to_stdout = false;
|
||||
}
|
||||
|
||||
public void logging(IStatus status) {
|
||||
if (log == null)
|
||||
return;
|
||||
else {
|
||||
// Need a to string here, because we need to be able to compate dates.
|
||||
// Need a to string here, because we need to be able to compare dates.
|
||||
String date = new Date().toString();
|
||||
log.println(date);
|
||||
int severity = status.getSeverity();
|
||||
|
@ -119,17 +85,14 @@ public class RemoteSystemLogListener implements ILogListener, IPropertyChangeLis
|
|||
|
||||
log.print(" ");
|
||||
log.print(status.getPlugin());
|
||||
// removed for now because we do not use Error codes.
|
||||
//log.print(" ");
|
||||
//log.print(status.getCode());
|
||||
log.print(" ");
|
||||
log.println(status.getMessage());
|
||||
if (status.getException() != null)
|
||||
status.getException().printStackTrace(log);
|
||||
if (status.getException() != null) status.getException().printStackTrace(log);
|
||||
if (status.isMultiStatus()) {
|
||||
IStatus[] children = status.getChildren();
|
||||
for (int i = 0; i < children.length; i++)
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
loggingChild(children[i]);
|
||||
}
|
||||
}
|
||||
log.println("--------------------------------------------");
|
||||
}
|
||||
|
@ -149,8 +112,7 @@ public class RemoteSystemLogListener implements ILogListener, IPropertyChangeLis
|
|||
else {
|
||||
log.print("\t\t");
|
||||
log.println(status.getMessage());
|
||||
if (status.getException() != null)
|
||||
status.getException().printStackTrace(log);
|
||||
if (status.getException() != null) status.getException().printStackTrace(log);
|
||||
if (status.isMultiStatus()) {
|
||||
IStatus[] children = status.getChildren();
|
||||
for (int i = 0; i < children.length; i++)
|
||||
|
@ -168,14 +130,7 @@ public class RemoteSystemLogListener implements ILogListener, IPropertyChangeLis
|
|||
}
|
||||
|
||||
public void freeResources() {
|
||||
if (log == null)
|
||||
return;
|
||||
|
||||
// make sure to not close std_out. A closed stream can *not*
|
||||
// br re-opened!
|
||||
if (log_to_stdout)
|
||||
return;
|
||||
|
||||
if (log == null) return;
|
||||
log.flush();
|
||||
log.close();
|
||||
log = null;
|
|
@ -24,23 +24,15 @@ import org.eclipse.core.runtime.FileLocator;
|
|||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
|
||||
/**
|
||||
* Remote Systems Logging plugin.
|
||||
*/
|
||||
public class RemoteSystemsLoggingPlugin extends Plugin {
|
||||
|
||||
|
||||
//The shared instance.
|
||||
private static RemoteSystemsLoggingPlugin inst;
|
||||
|
||||
//Resource bundle.
|
||||
private static RemoteSystemsLoggingPlugin singleton;
|
||||
private ResourceBundle resourceBundle;
|
||||
|
||||
// The cached Logger inst.
|
||||
public static Logger out = null;
|
||||
|
||||
/**
|
||||
|
@ -48,17 +40,14 @@ public class RemoteSystemsLoggingPlugin extends Plugin {
|
|||
*/
|
||||
public RemoteSystemsLoggingPlugin() {
|
||||
super();
|
||||
|
||||
if (inst == null) {
|
||||
inst = this;
|
||||
}
|
||||
singleton = this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shared plugin instance.
|
||||
*/
|
||||
public static RemoteSystemsLoggingPlugin getDefault() {
|
||||
return inst;
|
||||
return singleton;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -79,47 +68,33 @@ public class RemoteSystemsLoggingPlugin extends Plugin {
|
|||
* Returns the plugin's resource bundle.
|
||||
*/
|
||||
public ResourceBundle getResourceBundle() {
|
||||
|
||||
if (resourceBundle == null) {
|
||||
|
||||
try {
|
||||
IPath path = new Path("$nl$/RemoteSystemsLogging.properties");
|
||||
URL url = FileLocator.find(getBundle(), path, null);
|
||||
resourceBundle = new PropertyResourceBundle(url.openStream());
|
||||
} catch (Exception x) {
|
||||
resourceBundle = null;
|
||||
out.logInfo("RemoteSystemsLoggingPlugin - unable to log resourcebundle");
|
||||
}
|
||||
}
|
||||
|
||||
if (resourceBundle == null) {
|
||||
try {
|
||||
IPath path = new Path("$nl$/RemoteSystemsLogging.properties");
|
||||
URL url = FileLocator.find(getBundle(), path, null);
|
||||
resourceBundle = new PropertyResourceBundle(url.openStream());
|
||||
} catch (Exception x) {
|
||||
resourceBundle = null;
|
||||
out.logInfo("RemoteSystemsLoggingPlugin - unable to log resourcebundle");
|
||||
}
|
||||
}
|
||||
return resourceBundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets default preference values.
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void initializeDefaultPreferences() {
|
||||
Preferences prefs = getPluginPreferences();
|
||||
prefs.setDefault(IRemoteSystemsLogging.DEBUG_LEVEL, IRemoteSystemsLogging.LOG_ERROR);
|
||||
prefs.setDefault(IRemoteSystemsLogging.LOG_LOCATION, IRemoteSystemsLogging.LOG_TO_FILE);
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
out = LoggerFactory.getLogger(this);
|
||||
out.logInfo("loading RemoteSystemsLoggingPlugin class.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
|
||||
// don't need a preference page for this plugin.
|
||||
out = LoggerFactory.getInst(this);
|
||||
out.logInfo("loading RemoteSystemsLoggingPlugin class.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
LoggerFactory.freeInst(this);
|
||||
super.stop(context);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
LoggerFactory.freeLogger(this);
|
||||
super.stop(context);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -14,7 +14,7 @@
|
|||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.logging;
|
||||
package org.eclipse.rse.logging.ui;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
|
@ -0,0 +1,30 @@
|
|||
/********************************************************************************
|
||||
* Copyright (c) 2006 IBM Corporation. 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 http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* David Dykstal (IBM) - 148434 Better F1 help.
|
||||
********************************************************************************/
|
||||
package org.eclipse.rse.logging.ui;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
public class LoggingPreferenceLabels extends NLS {
|
||||
|
||||
private static String BUNDLE_NAME = "org.eclipse.rse.logging.ui.LoggingPreferenceLabels";//$NON-NLS-1$
|
||||
|
||||
public static String LOGGING_PREFERENCE_PAGE_TOPLABEL1;
|
||||
public static String LOGGING_PREFERENCE_PAGE_TOPLABEL2;
|
||||
public static String LOGGING_PREFERENCE_PAGE_ERRORS_ONLY;
|
||||
public static String LOGGING_PREFERENCE_PAGE_WARNINGS_ERRORS;
|
||||
public static String LOGGING_PREFERENCE_PAGE_INFO_DEBUG;
|
||||
public static String LOGGING_PREFERENCE_PAGE_FULL_DEBUG;
|
||||
|
||||
static {
|
||||
// load message values from bundle file
|
||||
NLS.initializeMessages(BUNDLE_NAME, LoggingPreferenceLabels.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -21,12 +21,9 @@
|
|||
|
||||
# Preference Page
|
||||
# ----------------
|
||||
LoggingPreferencePage.topLabel1 = Specify the logging options for {0}
|
||||
LoggingPreferencePage.topLabel2 = Logging Level:
|
||||
LoggingPreferencePage.errors_only = Errors only
|
||||
LoggingPreferencePage.warnings_errors = Warnings and errors
|
||||
LoggingPreferencePage.info_debug = Warnings, errors and information messages
|
||||
LoggingPreferencePage.full_debug = Full debug
|
||||
LoggingPreferencePage.logging_location = Logging Location:
|
||||
LoggingPreferencePage.log_to_file = Log to file (default)
|
||||
LoggingPreferencePage.log_to_stdout = Log to Standard Out
|
||||
LOGGING_PREFERENCE_PAGE_TOPLABEL1 = Specify the logging options for {0}
|
||||
LOGGING_PREFERENCE_PAGE_TOPLABEL2 = Logging Level:
|
||||
LOGGING_PREFERENCE_PAGE_ERRORS_ONLY = Errors only
|
||||
LOGGING_PREFERENCE_PAGE_WARNINGS_ERRORS = Warnings and errors
|
||||
LOGGING_PREFERENCE_PAGE_INFO_DEBUG = Warnings, errors and information messages
|
||||
LOGGING_PREFERENCE_PAGE_FULL_DEBUG = Full debug
|
|
@ -11,23 +11,20 @@
|
|||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* Michael Berger (IBM Canada) - 148434 Better F1 help.
|
||||
* {Name} (company) - description of contribution.
|
||||
********************************************************************************/
|
||||
|
||||
package org.eclipse.rse.logging;
|
||||
|
||||
package org.eclipse.rse.logging.ui;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.core.runtime.IExecutableExtension;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.jface.preference.PreferencePage;
|
||||
import org.eclipse.jface.preference.PreferenceStore;
|
||||
import org.eclipse.rse.internal.logging.LabelUtil;
|
||||
import org.eclipse.rse.logging.IRemoteSystemsLogging;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
|
@ -37,32 +34,21 @@ import org.eclipse.swt.widgets.Control;
|
|||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.ui.IWorkbench;
|
||||
import org.eclipse.ui.IWorkbenchPreferencePage;
|
||||
import org.eclipse.ui.help.WorkbenchHelp;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
|
||||
/**
|
||||
* An abstract preference page for all remote system logging.<br/>
|
||||
* Use a subclass of this page if you need a preference page to control
|
||||
* logging.
|
||||
*/
|
||||
public abstract class LoggingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IExecutableExtension {
|
||||
|
||||
public abstract class LoggingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
|
||||
|
||||
private Button radioButton0;
|
||||
private Button radioButton1;
|
||||
private Button radioButton2;
|
||||
private Button radioButton3;
|
||||
private Button radioButtonLogFile;
|
||||
private Button radioButtonLogView;
|
||||
|
||||
/**
|
||||
* This is the plugin instance who's preference store will be used
|
||||
* to control the settings on this page. Also, when this page is closed
|
||||
* the settings are restored in the preference store of the above plugin.
|
||||
*/
|
||||
private Bundle bundle = null;
|
||||
|
||||
/**
|
||||
* Creates composite control and sets the default layout data.
|
||||
|
@ -90,37 +76,28 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
* Method declared on PreferencePage
|
||||
*/
|
||||
protected Control createContents(Composite parent) {
|
||||
Bundle bundle = getBundle();
|
||||
Composite composite_tab = createComposite(parent, 2);
|
||||
String bundleName = (String)(bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME));
|
||||
String topLabel1 = RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.topLabel1");
|
||||
topLabel1 = MessageFormat.format(topLabel1, new Object[] {bundleName});
|
||||
String bundleName = (String) (bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME));
|
||||
String topLabel1 = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_TOPLABEL1;
|
||||
topLabel1 = MessageFormat.format(topLabel1, new Object[] { bundleName });
|
||||
createLabel(composite_tab, topLabel1);
|
||||
forceSpace(composite_tab);
|
||||
String topLabel2 = RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.topLabel2");
|
||||
String topLabel2 = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_TOPLABEL2;
|
||||
createLabel(composite_tab, topLabel2);
|
||||
tabForward(composite_tab);
|
||||
Composite composite1_radioButton = createComposite(composite_tab, 1);
|
||||
String text = RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.errors_only");
|
||||
String text = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_ERRORS_ONLY;
|
||||
Set used = LabelUtil.usedFromString("ad"); // the mnemonics already used on preference page (in English)
|
||||
radioButton0 = createRadioButton(composite1_radioButton, LabelUtil.assignMnemonic(text, used));
|
||||
text = RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.warnings_errors");
|
||||
text = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_WARNINGS_ERRORS;
|
||||
radioButton1 = createRadioButton(composite1_radioButton, LabelUtil.assignMnemonic(text, used));
|
||||
text = RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.info_debug");
|
||||
text = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_INFO_DEBUG;
|
||||
radioButton2 = createRadioButton(composite1_radioButton, LabelUtil.assignMnemonic(text, used));
|
||||
// now add debug stuff, that only shows up in a debug build.
|
||||
if (Logger.DEBUG) {
|
||||
radioButton3 = createRadioButton(composite1_radioButton, RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.full_debug"));
|
||||
Composite composite_tab2 = createComposite(parent, 2);
|
||||
Label label3 = createLabel(composite_tab2, RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.logging_location"));
|
||||
tabForward(composite_tab2);
|
||||
Composite composite_radioButton2 = createComposite(composite_tab2, 1);
|
||||
radioButtonLogFile = createRadioButton(composite_radioButton2, RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.log_to_file"));
|
||||
radioButtonLogView = createRadioButton(composite_radioButton2, RemoteSystemsLoggingPlugin.getResourceString("LoggingPreferencePage.log_to_stdout"));
|
||||
WorkbenchHelp.setHelp(composite_tab2, "com.ibm.etools.systems.logging.pref0000");
|
||||
}
|
||||
text = LoggingPreferenceLabels.LOGGING_PREFERENCE_PAGE_FULL_DEBUG;
|
||||
radioButton3 = createRadioButton(composite1_radioButton, LabelUtil.assignMnemonic(text, used));
|
||||
initializeValues();
|
||||
RemoteSystemsLoggingPlugin.out.logInfo("created LoggingPreferencePage");
|
||||
WorkbenchHelp.setHelp(composite_tab, "com.ibm.etools.systems.logging.pref0000");
|
||||
PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "com.ibm.etools.systems.logging.rsel0000");
|
||||
return new Composite(parent, SWT.NULL);
|
||||
}
|
||||
|
||||
|
@ -162,24 +139,27 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
*
|
||||
*/
|
||||
protected IPreferenceStore doGetPreferenceStore() {
|
||||
|
||||
Bundle bundle = getBundle();
|
||||
if (bundle != null) {
|
||||
AbstractUIPlugin plugin = getPlugin();
|
||||
|
||||
if (plugin != null) {
|
||||
return plugin.getPreferenceStore();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return new PreferenceStore();
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return new PreferenceStore();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected abstract AbstractUIPlugin getPlugin();
|
||||
|
||||
private Bundle getBundle() {
|
||||
Plugin plugin = getPlugin();
|
||||
Bundle bundle = plugin.getBundle();
|
||||
return bundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method declared on IWorkbenchPreferencePage
|
||||
*/
|
||||
|
@ -195,36 +175,24 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
radioButton0.setSelection(false);
|
||||
radioButton1.setSelection(false);
|
||||
radioButton2.setSelection(false);
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(false);
|
||||
if (Logger.DEBUG) {
|
||||
radioButtonLogFile.setSelection(false);
|
||||
radioButtonLogView.setSelection(false);
|
||||
}
|
||||
if (null != radioButton3) radioButton3.setSelection(false);
|
||||
int choice = store.getInt(IRemoteSystemsLogging.DEBUG_LEVEL);
|
||||
switch (choice) {
|
||||
case 0 :
|
||||
radioButton0.setSelection(true);
|
||||
break;
|
||||
case 1 :
|
||||
radioButton1.setSelection(true);
|
||||
break;
|
||||
case 2 :
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
case 3 :
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(true);
|
||||
else
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
}
|
||||
if (Logger.DEBUG) {
|
||||
String log_location = store.getString(IRemoteSystemsLogging.LOG_LOCATION);
|
||||
if (log_location.equalsIgnoreCase(IRemoteSystemsLogging.LOG_TO_STDOUT))
|
||||
radioButtonLogView.setSelection(true);
|
||||
case 0:
|
||||
radioButton0.setSelection(true);
|
||||
break;
|
||||
case 1:
|
||||
radioButton1.setSelection(true);
|
||||
break;
|
||||
case 2:
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
case 3:
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(true);
|
||||
else
|
||||
radioButtonLogFile.setSelection(true);
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -237,36 +205,24 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
radioButton0.setSelection(false);
|
||||
radioButton1.setSelection(false);
|
||||
radioButton2.setSelection(false);
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(false);
|
||||
if (Logger.DEBUG) {
|
||||
radioButtonLogFile.setSelection(false);
|
||||
radioButtonLogView.setSelection(false);
|
||||
}
|
||||
if (null != radioButton3) radioButton3.setSelection(false);
|
||||
int choice = store.getDefaultInt(IRemoteSystemsLogging.DEBUG_LEVEL);
|
||||
switch (choice) {
|
||||
case 0 :
|
||||
radioButton0.setSelection(true);
|
||||
break;
|
||||
case 1 :
|
||||
radioButton1.setSelection(true);
|
||||
break;
|
||||
case 2 :
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
case 3 :
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(true);
|
||||
else
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
}
|
||||
if (Logger.DEBUG) {
|
||||
String log_location = store.getDefaultString(IRemoteSystemsLogging.LOG_LOCATION);
|
||||
if (log_location.equalsIgnoreCase(IRemoteSystemsLogging.LOG_TO_STDOUT))
|
||||
radioButtonLogView.setSelection(true);
|
||||
case 0:
|
||||
radioButton0.setSelection(true);
|
||||
break;
|
||||
case 1:
|
||||
radioButton1.setSelection(true);
|
||||
break;
|
||||
case 2:
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
case 3:
|
||||
if (null != radioButton3)
|
||||
radioButton3.setSelection(true);
|
||||
else
|
||||
radioButtonLogFile.setSelection(true);
|
||||
radioButton2.setSelection(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -296,17 +252,8 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
choice = 1;
|
||||
else if (radioButton2.getSelection())
|
||||
choice = 2;
|
||||
else if (null != radioButton3 && radioButton3.getSelection())
|
||||
choice = 3;
|
||||
else if (null != radioButton3 && radioButton3.getSelection()) choice = 3;
|
||||
store.setValue(IRemoteSystemsLogging.DEBUG_LEVEL, choice);
|
||||
if (Logger.DEBUG) {
|
||||
String log_location = "";
|
||||
if (radioButtonLogFile.getSelection())
|
||||
log_location = IRemoteSystemsLogging.LOG_TO_FILE;
|
||||
else
|
||||
log_location = IRemoteSystemsLogging.LOG_TO_STDOUT;
|
||||
store.setValue(IRemoteSystemsLogging.LOG_LOCATION, log_location);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -336,17 +283,4 @@ public abstract class LoggingPreferencePage extends PreferencePage implements IW
|
|||
data.horizontalSpan = 2;
|
||||
label.setLayoutData(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is needed to get to the plugin id, and then plugin instance.
|
||||
*/
|
||||
public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
|
||||
try {
|
||||
String pluginName = config.getDeclaringExtension().getContributor().getName();
|
||||
this.bundle = Platform.getBundle(pluginName);
|
||||
} catch (Exception e) {
|
||||
RemoteSystemsLoggingPlugin.out.logError("Failed to create LoggingPreferencePage.", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
package org.eclipse.rse.ui.propertypages;
|
||||
|
||||
import org.eclipse.rse.logging.LoggingPreferencePage;
|
||||
import org.eclipse.rse.logging.ui.LoggingPreferencePage;
|
||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
|
||||
|
|
|
@ -1810,7 +1810,7 @@ public class SystemFilterPoolManager implements ISystemFilterPoolManager
|
|||
*/
|
||||
public void logDebugMessage(String prefix, String message)
|
||||
{
|
||||
if ((Logger.DEBUG) && (logger!=null))
|
||||
if ((logger!=null))
|
||||
{
|
||||
logger.logDebugMessage(prefix, message);
|
||||
}
|
||||
|
|
|
@ -448,15 +448,13 @@ public abstract class AbstractConnectorService extends RSEModelObject implements
|
|||
if (passwordInformation == null && oldUserId != null && !forcePrompt) {
|
||||
SystemSignonInformation savedPasswordInformation = ppm.find(hostType, hostName, oldUserId);
|
||||
if (savedPasswordInformation != null) {
|
||||
if (validator != null) {
|
||||
if (!validator.isValid(shell, savedPasswordInformation)) {
|
||||
passwordValid = false;
|
||||
clearPasswordCache();
|
||||
passwordInformation = null;
|
||||
} else {
|
||||
setPasswordInformation(savedPasswordInformation);
|
||||
passwordInformation = getPasswordInformation();
|
||||
}
|
||||
if (validator == null || validator.isValid(shell, savedPasswordInformation)) {
|
||||
setPasswordInformation(savedPasswordInformation);
|
||||
passwordInformation = getPasswordInformation();
|
||||
} else {
|
||||
passwordValid = false;
|
||||
clearPasswordCache();
|
||||
passwordInformation = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1087,7 +1085,7 @@ public abstract class AbstractConnectorService extends RSEModelObject implements
|
|||
}
|
||||
|
||||
private void logException(Throwable t) {
|
||||
Logger log = LoggerFactory.getInst(RSEUIPlugin.getDefault());
|
||||
Logger log = LoggerFactory.getLogger(RSEUIPlugin.getDefault());
|
||||
log.logError("Unexpected exception", t);
|
||||
}
|
||||
|
||||
|
|
|
@ -655,10 +655,7 @@ public abstract class SystemBasePlugin extends AbstractUIPlugin
|
|||
*/
|
||||
public static void logDebugMessage(String prefix, String message)
|
||||
{
|
||||
if (Logger.DEBUG)
|
||||
{
|
||||
log.logDebugMessage(prefix, message);
|
||||
}
|
||||
log.logDebugMessage(prefix, message);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -716,7 +713,7 @@ public abstract class SystemBasePlugin extends AbstractUIPlugin
|
|||
|
||||
// logger
|
||||
if (log == null) {
|
||||
log = LoggerFactory.getInst(this);
|
||||
log = LoggerFactory.getLogger(this);
|
||||
log.logInfo("Loading " + this.getClass());
|
||||
}
|
||||
}
|
||||
|
@ -726,7 +723,7 @@ public abstract class SystemBasePlugin extends AbstractUIPlugin
|
|||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
logDebugMessage(this.getClass().getName(), "SHUTDOWN");
|
||||
LoggerFactory.freeInst(this);
|
||||
LoggerFactory.freeLogger(this);
|
||||
super.stop(context);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue