X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2FArgeoUiPlugin.java;h=73fef7812c5ef1fceb5849014a1494daf89eba5a;hb=774e4da3fb247a95d327674045af5b5ab2a1a62a;hp=1561282b67a4fc679293e7d948daef4f15a6eef2;hpb=92daeb190be66653f39544ae9b5a2f2c31a60797;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java index 1561282b6..73fef7812 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java +++ b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java @@ -16,6 +16,10 @@ package org.argeo.eclipse.ui; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.eclipse.core.runtime.ILogListener; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.Bundle; @@ -24,13 +28,15 @@ import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ -public class ArgeoUiPlugin extends AbstractUIPlugin { +public class ArgeoUiPlugin extends AbstractUIPlugin implements ILogListener { // The plug-in ID public static final String PLUGIN_ID = "org.argeo.eclipse.ui"; private final static String SPRING_OSGI_EXTENDER = "org.springframework.osgi.extender"; + private final static Log log = LogFactory.getLog(ArgeoUiPlugin.class); + // The shared instance private static ArgeoUiPlugin plugin; @@ -54,12 +60,16 @@ public class ArgeoUiPlugin extends AbstractUIPlugin { plugin = this; bundleContext = context; + Platform.addLogListener(this); + log.debug("Eclipse logging now directed to standard logging"); + // Make sure that the Spring OSGi extender is started Bundle osgiExtBundle = Platform.getBundle(SPRING_OSGI_EXTENDER); if (osgiExtBundle != null) osgiExtBundle.start(); else - throw new Exception("Spring OSGi Extender not found"); + log.error("Spring OSGi Extender not found"); + } /* @@ -70,6 +80,9 @@ public class ArgeoUiPlugin extends AbstractUIPlugin { * ) */ public void stop(BundleContext context) throws Exception { + Platform.removeLogListener(this); + log.debug("Eclipse logging not directed anymore to standard logging"); + plugin = null; super.stop(context); } @@ -87,4 +100,19 @@ public class ArgeoUiPlugin extends AbstractUIPlugin { return bundleContext; } + public void logging(IStatus status, String plugin) { + Log pluginLog = LogFactory.getLog(plugin); + Integer severity = status.getSeverity(); + if (severity == IStatus.ERROR) + pluginLog.error(status.getMessage(), status.getException()); + else if (severity == IStatus.WARNING) + pluginLog.warn(status.getMessage(), status.getException()); + else if (severity == IStatus.INFO) + pluginLog.info(status.getMessage(), status.getException()); + else if (severity == IStatus.CANCEL) + if (pluginLog.isDebugEnabled()) + pluginLog.debug(status.getMessage(), status.getException()); + + } + }