diff options
author | Anjum Fatima | 2019-02-02 09:08:30 +0000 |
---|---|---|
committer | Anjum Fatima | 2019-02-06 16:22:32 +0000 |
commit | 39a941ca4bdd208ccbc4bd96d6baac70d2e2d62c (patch) | |
tree | 6afffd48d776819be44182d17ac0076a9a9520f6 | |
parent | a77f4a30d1824d75c87079b944c67be2291feccb (diff) | |
download | rt.equinox.framework-39a941ca4bdd208ccbc4bd96d6baac70d2e2d62c.tar.gz rt.equinox.framework-39a941ca4bdd208ccbc4bd96d6baac70d2e2d62c.tar.xz rt.equinox.framework-39a941ca4bdd208ccbc4bd96d6baac70d2e2d62c.zip |
Bug 543805 - [log] Enhance the logger names for legacy event mappings
Change-Id: I998073e0eb3c0abd33f0eab194ab3cc74460ad8c
Signed-off-by: Anjum Fatima <anjum.eclipse@gmail.com>
5 files changed, 26 insertions, 13 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java index f71de4be6..fbed87798 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java @@ -125,7 +125,7 @@ public class ExtendedLogServiceTest extends TestCase { public void testNullLoggerLogNull() throws Exception { log.getLogger((String) null).log(null, 0, null, null); ExtendedLogEntry entry = listener.getEntryX(); - assertEquals("Wrong logger name.", "LogService", entry.getLoggerName()); + assertEquals("Wrong logger name.", "LogService" + "." + bundle.getSymbolicName(), entry.getLoggerName()); assertTrue(entry.getLevel() == 0); assertTrue(entry.getMessage() == null); assertTrue(entry.getException() == null); diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java index 1f6ebcd62..f8a617d6c 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java @@ -203,7 +203,7 @@ public class LogReaderServiceTest extends AbstractBundleTests { LogListener listener = new LogListener() { @Override public void logged(LogEntry entry) { - if ("Events.Framework".equals(entry.getLoggerName())) { + if ((entry.getLoggerName()).startsWith("Events.Framework.")) { logEntry.set(entry); countDown.countDown(); } @@ -215,9 +215,12 @@ public class LogReaderServiceTest extends AbstractBundleTests { countDown.await(5, TimeUnit.SECONDS); ExtendedLogEntry entry = (ExtendedLogEntry) logEntry.get(); + assertNotNull("Framework event not logged", entry); assertTrue(entry.getLevel() == LogService.LOG_INFO); assertEquals("Wrong level.", LogLevel.INFO, entry.getLogLevel()); assertTrue("Wrong context: " + entry.getContext(), entry.getContext() instanceof FrameworkEvent); + assertEquals("Wrong bundle.", getContext().getBundle(Constants.SYSTEM_BUNDLE_LOCATION), entry.getBundle()); + assertEquals("Wrong logger name.", "Events.Framework." + entry.getBundle().getSymbolicName(), entry.getLoggerName()); } public void testLogFrameworkEventType() throws Exception { @@ -471,6 +474,7 @@ public class LogReaderServiceTest extends AbstractBundleTests { LogEntry logEntry = listener.getEntryX(); assertEquals("Wrong message.", message, logEntry.getMessage()); assertEquals("Wrong bundle.", bundle, logEntry.getBundle()); + assertEquals("Wrong logger name.", "Events.Bundle." + bundle.getSymbolicName(), logEntry.getLoggerName()); } diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java index 5a4f7fa43..0629f704a 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java @@ -222,9 +222,10 @@ public class LogServiceTest extends TestCase { BundleContext context = OSGiTestsActivator.getContext(); ServiceRegistration<Object> reg = context.registerService(Object.class, new Object(), null); ServiceReference<Object> ref = reg.getReference(); + String expectedLoggerName = "Events.Service" + "." + context.getBundle().getSymbolicName(); LogEntry entry = listener.getEntryX(); - assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName()); + assertEquals("Wrong logger name.", expectedLoggerName, entry.getLoggerName()); assertEquals("Wrong event log level.", LogLevel.INFO, entry.getLogLevel()); assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle()); assertNull("Wrong exception.", entry.getException()); @@ -234,7 +235,7 @@ public class LogServiceTest extends TestCase { reg.setProperties(new Hashtable(Collections.singletonMap("key1", "value1"))); entry = listener.getEntryX(); - assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName()); + assertEquals("Wrong logger name.", expectedLoggerName, entry.getLoggerName()); assertEquals("Wrong event log level.", LogLevel.DEBUG, entry.getLogLevel()); assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle()); assertNull("Wrong exception.", entry.getException()); @@ -243,7 +244,7 @@ public class LogServiceTest extends TestCase { reg.unregister(); entry = listener.getEntryX(); - assertEquals("Wrong logger name.", "Events.Service", entry.getLoggerName()); + assertEquals("Wrong logger name.", expectedLoggerName, entry.getLoggerName()); assertEquals("Wrong event log level.", LogLevel.INFO, entry.getLogLevel()); assertEquals("Wrong bundle.", context.getBundle(), entry.getBundle()); assertNull("Wrong exception.", entry.getException()); diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java index 307eee608..1e2c701d5 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java @@ -26,6 +26,7 @@ public class ExtendedLogServiceImpl implements ExtendedLogService { private final ExtendedLogServiceFactory factory; private volatile Bundle bundle; private final Map<Class<? extends org.osgi.service.log.Logger>, Map<String, LoggerImpl>> loggerCache = new HashMap<>(); + private final String LOG_SERVICE = "LogService"; //$NON-NLS-1$ public ExtendedLogServiceImpl(ExtendedLogServiceFactory factory, Bundle bundle) { this.factory = factory; @@ -124,7 +125,9 @@ public class ExtendedLogServiceImpl implements ExtendedLogService { @Override public <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) { if (name == null) { - name = "LogService"; //$NON-NLS-1$ + Bundle current = bundle; + String bsn = (current == null) ? null : current.getSymbolicName(); + name = (bsn == null) ? LOG_SERVICE : LOG_SERVICE + "." + bsn; //$NON-NLS-1$ } LoggerImpl logger = null; Map<String, LoggerImpl> loggers = null; diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LogServiceManager.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LogServiceManager.java index f87007cb0..15098738f 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LogServiceManager.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LogServiceManager.java @@ -128,8 +128,10 @@ public class LogServiceManager implements SynchronousBundleListener, FrameworkLi @SuppressWarnings("deprecation") public void bundleChanged(BundleEvent event) { Bundle bundle = event.getBundle(); - if (logReaderServiceFactory.isLoggable(bundle, LOGGER_BUNDLE_EVENT, LogService.LOG_INFO)) { - LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(LOGGER_BUNDLE_EVENT); + String bsn = (bundle == null) ? null : bundle.getSymbolicName(); + String loggerName = (bsn == null) ? LOGGER_BUNDLE_EVENT : LOGGER_BUNDLE_EVENT + "." + bsn; //$NON-NLS-1$ + if (logReaderServiceFactory.isLoggable(bundle, loggerName, LogService.LOG_INFO)) { + LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(loggerName); int eventType = event.getType(); logger.log(bundle, event, null, LogService.LOG_INFO, getBundleEventTypeName(eventType), null, null); } @@ -143,10 +145,12 @@ public class LogServiceManager implements SynchronousBundleListener, FrameworkLi ServiceReference<?> reference = event.getServiceReference(); Bundle bundle = reference.getBundle(); int eventType = event.getType(); + String bsn = (bundle == null) ? null : bundle.getSymbolicName(); + String loggerName = (bsn == null) ? LOGGER_SERVICE_EVENT : LOGGER_SERVICE_EVENT + "." + bsn; //$NON-NLS-1$ @SuppressWarnings("deprecation") int logType = (eventType == ServiceEvent.MODIFIED) ? LogService.LOG_DEBUG : LogService.LOG_INFO; - if (logReaderServiceFactory.isLoggable(bundle, LOGGER_SERVICE_EVENT, logType)) { - LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(LOGGER_SERVICE_EVENT); + if (logReaderServiceFactory.isLoggable(bundle, loggerName, logType)) { + LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(loggerName); logger.log(bundle, event, null, logType, getServiceEventTypeName(eventType), reference, null); } } @@ -171,9 +175,10 @@ public class LogServiceManager implements SynchronousBundleListener, FrameworkLi logType = LogService.LOG_INFO; break; } - - if (logReaderServiceFactory.isLoggable(bundle, LOGGER_FRAMEWORK_EVENT, logType)) { - LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(LOGGER_FRAMEWORK_EVENT); + String bsn = (bundle == null) ? null : bundle.getSymbolicName(); + String loggerName = (bsn == null) ? LOGGER_FRAMEWORK_EVENT : LOGGER_FRAMEWORK_EVENT + "." + bsn; //$NON-NLS-1$ + if (logReaderServiceFactory.isLoggable(bundle, loggerName, logType)) { + LoggerImpl logger = (LoggerImpl) systemBundleLog.getLogger(loggerName); logger.log(bundle, event, null, logType, getFrameworkEventTypeName(eventType), null, event.getThrowable()); } } |