diff options
author | Eike Stepper | 2017-12-28 05:58:35 +0000 |
---|---|---|
committer | Eike Stepper | 2017-12-28 05:58:35 +0000 |
commit | ccf2d493ec17c106306579cdf5161f95615315b6 (patch) | |
tree | 14b3f8610569d882923f80e9a84bc0517399b011 /plugins/org.eclipse.net4j.util | |
parent | 6f57f7a1fcf0f12fa640d4f6bccf07fa716e4d72 (diff) | |
download | cdo-ccf2d493ec17c106306579cdf5161f95615315b6.tar.gz cdo-ccf2d493ec17c106306579cdf5161f95615315b6.tar.xz cdo-ccf2d493ec17c106306579cdf5161f95615315b6.zip |
[529259] Fix deprecation warning in OSGiLoggingBridge
https://bugs.eclipse.org/bugs/show_bug.cgi?id=529259
Diffstat (limited to 'plugins/org.eclipse.net4j.util')
3 files changed, 143 insertions, 31 deletions
diff --git a/plugins/org.eclipse.net4j.util/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.util/META-INF/MANIFEST.MF index b702aaf30f..94d4b2ff08 100644 --- a/plugins/org.eclipse.net4j.util/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.util/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.net4j.util;singleton:=true -Bundle-Version: 3.7.100.qualifier +Bundle-Version: 3.8.0.qualifier Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -15,35 +15,35 @@ Import-Package: org.eclipse.osgi.service.debug;version="[1.0.0,2.0.0)";resolutio org.osgi.framework;version="[1.3.0,2.0.0)";resolution:=optional, org.osgi.service.log;version="[1.3.0,2.0.0)";resolution:=optional, org.osgi.util.tracker;version="[1.3.0,2.0.0)";resolution:=optional -Export-Package: org.eclipse.net4j.internal.util.bundle;version="3.7.100";x-friends:="org.eclipse.net4j.util.ui,org.eclipse.net4j.tests", - org.eclipse.net4j.internal.util.container;version="3.7.100";x-internal:=true, - org.eclipse.net4j.internal.util.factory;version="3.7.100";x-internal:=true, - org.eclipse.net4j.internal.util.om;version="3.7.100";x-internal:=true, - org.eclipse.net4j.internal.util.om.pref;version="3.7.100";x-internal:=true, - org.eclipse.net4j.internal.util.table;version="3.7.100";x-internal:=true, - org.eclipse.net4j.internal.util.test;version="3.7.100";x-friends:="org.eclipse.net4j.tests", - org.eclipse.net4j.util;version="3.7.100", - org.eclipse.net4j.util.cache;version="3.7.100", - org.eclipse.net4j.util.collection;version="3.7.100", - org.eclipse.net4j.util.concurrent;version="3.7.100", - org.eclipse.net4j.util.confirmation;version="3.7.100", - org.eclipse.net4j.util.container;version="3.7.100", - org.eclipse.net4j.util.container.delegate;version="3.7.100", - org.eclipse.net4j.util.event;version="3.7.100", - org.eclipse.net4j.util.factory;version="3.7.100", - org.eclipse.net4j.util.fsm;version="3.7.100", - org.eclipse.net4j.util.io;version="3.7.100", - org.eclipse.net4j.util.lifecycle;version="3.7.100", - org.eclipse.net4j.util.om;version="3.7.100", - org.eclipse.net4j.util.om.log;version="3.7.100", - org.eclipse.net4j.util.om.monitor;version="3.7.100", - org.eclipse.net4j.util.om.pref;version="3.7.100", - org.eclipse.net4j.util.om.trace;version="3.7.100", - org.eclipse.net4j.util.options;version="3.7.100", - org.eclipse.net4j.util.properties;version="3.7.100", - org.eclipse.net4j.util.ref;version="3.7.100", - org.eclipse.net4j.util.registry;version="3.7.100", - org.eclipse.net4j.util.security;version="3.7.100", - org.eclipse.net4j.util.transaction;version="3.7.100" +Export-Package: org.eclipse.net4j.internal.util.bundle;version="3.8.0";x-friends:="org.eclipse.net4j.util.ui,org.eclipse.net4j.tests", + org.eclipse.net4j.internal.util.container;version="3.8.0";x-internal:=true, + org.eclipse.net4j.internal.util.factory;version="3.8.0";x-internal:=true, + org.eclipse.net4j.internal.util.om;version="3.8.0";x-internal:=true, + org.eclipse.net4j.internal.util.om.pref;version="3.8.0";x-internal:=true, + org.eclipse.net4j.internal.util.table;version="3.8.0";x-internal:=true, + org.eclipse.net4j.internal.util.test;version="3.8.0";x-friends:="org.eclipse.net4j.tests", + org.eclipse.net4j.util;version="3.8.0", + org.eclipse.net4j.util.cache;version="3.8.0", + org.eclipse.net4j.util.collection;version="3.8.0", + org.eclipse.net4j.util.concurrent;version="3.8.0", + org.eclipse.net4j.util.confirmation;version="3.8.0", + org.eclipse.net4j.util.container;version="3.8.0", + org.eclipse.net4j.util.container.delegate;version="3.8.0", + org.eclipse.net4j.util.event;version="3.8.0", + org.eclipse.net4j.util.factory;version="3.8.0", + org.eclipse.net4j.util.fsm;version="3.8.0", + org.eclipse.net4j.util.io;version="3.8.0", + org.eclipse.net4j.util.lifecycle;version="3.8.0", + org.eclipse.net4j.util.om;version="3.8.0", + org.eclipse.net4j.util.om.log;version="3.8.0", + org.eclipse.net4j.util.om.monitor;version="3.8.0", + org.eclipse.net4j.util.om.pref;version="3.8.0", + org.eclipse.net4j.util.om.trace;version="3.8.0", + org.eclipse.net4j.util.options;version="3.8.0", + org.eclipse.net4j.util.properties;version="3.8.0", + org.eclipse.net4j.util.ref;version="3.8.0", + org.eclipse.net4j.util.registry;version="3.8.0", + org.eclipse.net4j.util.security;version="3.8.0", + org.eclipse.net4j.util.transaction;version="3.8.0" Eclipse-BuddyPolicy: registered Automatic-Module-Name: org.eclipse.net4j.util diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLogHandler.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLogHandler.java new file mode 100644 index 0000000000..63d931f51d --- /dev/null +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLogHandler.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2007, 2008, 2010-2012 Eike Stepper (Berlin, Germany) 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.util.om.log; + +import org.eclipse.net4j.internal.util.om.OSGiBundle; +import org.eclipse.net4j.util.om.log.OMLogger.Level; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.log.LogLevel; +import org.osgi.service.log.Logger; +import org.osgi.service.log.LoggerFactory; + +/** + * A {@link OMLogHandler log handler} that appends log events to the OSGi {@link Logger log service}. + * + * @author Eike Stepper + * @since 3.8 + */ +public class OSGiLogHandler implements OMLogHandler +{ + // @Singleton + public static final OSGiLogHandler INSTANCE = new OSGiLogHandler(); + + protected OSGiLogHandler() + { + } + + public void logged(OMLogger logger, Level level, String msg, Throwable t) + { + try + { + BundleContext bundleContext = ((OSGiBundle)logger.getBundle()).getBundleContext(); + logged(bundleContext, level, msg, t); + } + catch (RuntimeException ignore) + { + } + } + + public void logged(BundleContext bundleContext, Level level, String msg, Throwable t) + { + Logger logger = getLogger(bundleContext); + + switch (level) + { + case ERROR: + logger.error(msg, t); + break; + + case WARN: + logger.warn(msg, t); + break; + + case INFO: + logger.info(msg, t); + break; + + case DEBUG: + logger.debug(msg, t); + break; + + default: + throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$ + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected Logger getLogger(BundleContext bundleContext) + { + try + { + ServiceReference ref = bundleContext.getServiceReference(LoggerFactory.class.getName()); + LoggerFactory loggerFactory = (LoggerFactory)bundleContext.getService(ref); + + Bundle bundle = bundleContext.getBundle(); + return loggerFactory.getLogger(bundle, bundle.getSymbolicName(), Logger.class); + } + catch (RuntimeException ex) + { + throw new IllegalStateException("Logger service not found", ex); //$NON-NLS-1$ + } + } + + public static LogLevel toOSGi(Level level) + { + switch (level) + { + case ERROR: + return LogLevel.ERROR; + case WARN: + return LogLevel.WARN; + case INFO: + return LogLevel.INFO; + case DEBUG: + return LogLevel.DEBUG; + default: + throw new IllegalArgumentException("Illegal log level: " + level); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java index 6ff5cc8f8a..e6010d90b8 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/om/log/OSGiLoggingBridge.java @@ -20,8 +20,10 @@ import org.osgi.service.log.LogService; /** * A {@link OMLogHandler log handler} that appends log events to the OSGi {@link LogService log service}. * + * @deprecated As of 4.7 use {@link OSGiLogHandler}. * @author Eike Stepper */ +@Deprecated public class OSGiLoggingBridge implements OMLogHandler { // @Singleton |