Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java')
-rw-r--r--bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogServiceImpl.java196
1 files changed, 181 insertions, 15 deletions
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 606a52b90..ab8dbb213 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
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2016 Cognos Incorporated, IBM Corporation and others
+ * Copyright (c) 2006, 2012 Cognos Incorporated, 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
@@ -8,21 +8,23 @@
package org.eclipse.osgi.internal.log;
import java.util.HashMap;
+import java.util.Map;
import org.eclipse.equinox.log.ExtendedLogService;
import org.eclipse.equinox.log.Logger;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-public class ExtendedLogServiceImpl implements ExtendedLogService, LogService {
+public class ExtendedLogServiceImpl implements ExtendedLogService {
private final ExtendedLogServiceFactory factory;
private volatile Bundle bundle;
- private final HashMap<String, Logger> loggerCache = new HashMap<>();
+ private final Map<Class<? extends org.osgi.service.log.Logger>, Map<String, Logger>> loggerCache = new HashMap<>();
public ExtendedLogServiceImpl(ExtendedLogServiceFactory factory, Bundle bundle) {
this.factory = factory;
this.bundle = bundle;
+ loggerCache.put(org.osgi.service.log.Logger.class, new HashMap<String, Logger>());
+ loggerCache.put(org.osgi.service.log.FormatterLogger.class, new HashMap<String, Logger>());
}
public void log(int level, String message) {
@@ -40,7 +42,7 @@ public class ExtendedLogServiceImpl implements ExtendedLogService, LogService {
@SuppressWarnings("rawtypes")
public void log(ServiceReference sr, int level, String message, Throwable exception) {
- getLogger(null).log(sr, level, message, exception);
+ getLogger((String) null).log(sr, level, message, exception);
}
public void log(Object context, int level, String message) {
@@ -48,16 +50,11 @@ public class ExtendedLogServiceImpl implements ExtendedLogService, LogService {
}
public void log(Object context, int level, String message, Throwable exception) {
- getLogger(null).log(context, level, message, exception);
+ getLogger((String) null).log(context, level, message, exception);
}
- public synchronized Logger getLogger(String name) {
- Logger logger = loggerCache.get(name);
- if (logger == null) {
- logger = new LoggerImpl(this, name);
- loggerCache.put(name, logger);
- }
- return logger;
+ public Logger getLogger(String name) {
+ return (Logger) getLogger(name, org.osgi.service.log.Logger.class);
}
public Logger getLogger(Bundle logBundle, String name) {
@@ -70,11 +67,11 @@ public class ExtendedLogServiceImpl implements ExtendedLogService, LogService {
}
public String getName() {
- return getLogger(null).getName();
+ return getLogger((String) null).getName();
}
public boolean isLoggable(int level) {
- return getLogger(null).isLoggable(level);
+ return getLogger((String) null).isLoggable(level);
}
// package private methods called from Logger
@@ -90,4 +87,173 @@ public class ExtendedLogServiceImpl implements ExtendedLogService, LogService {
void setBundle(Bundle bundle) {
this.bundle = bundle;
}
+
+ @Override
+ public org.osgi.service.log.Logger getLogger(Class<?> clazz) {
+ return getLogger(clazz.getName());
+ }
+
+ @Override
+ public synchronized <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) {
+ Map<String, Logger> loggers = loggerCache.get(loggerType);
+ if (loggers == null) {
+ throw new IllegalArgumentException(loggerType.getName());
+ }
+ Logger logger = loggers.get(name);
+ if (logger == null) {
+ logger = new FormatterLoggerImpl(this, name);
+ loggers.put(name, logger);
+ }
+ return loggerType.cast(logger);
+ }
+
+ @Override
+ public <L extends org.osgi.service.log.Logger> L getLogger(Class<?> clazz, Class<L> loggerType) {
+ return getLogger(clazz.getName(), loggerType);
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return getLogger((String) null).isTraceEnabled();
+ }
+
+ @Override
+ public void trace(String message) {
+ getLogger((String) null).trace(message);
+ }
+
+ @Override
+ public void trace(String format, Object arg) {
+ getLogger((String) null).trace(format, arg);
+ }
+
+ @Override
+ public void trace(String format, Object arg1, Object arg2) {
+ getLogger((String) null).trace(format, arg1, arg2);
+ }
+
+ @Override
+ public void trace(String format, Object... arguments) {
+ getLogger((String) null).trace(format, arguments);
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return getLogger((String) null).isDebugEnabled();
+ }
+
+ @Override
+ public void debug(String message) {
+ getLogger((String) null).debug(message);
+ }
+
+ @Override
+ public void debug(String format, Object arg) {
+ getLogger((String) null).debug(format, arg);
+ }
+
+ @Override
+ public void debug(String format, Object arg1, Object arg2) {
+ getLogger((String) null).debug(format, arg1, arg2);
+ }
+
+ @Override
+ public void debug(String format, Object... arguments) {
+ getLogger((String) null).debug(format, arguments);
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return getLogger((String) null).isInfoEnabled();
+ }
+
+ @Override
+ public void info(String message) {
+ getLogger((String) null).info(message);
+ }
+
+ @Override
+ public void info(String format, Object arg) {
+ getLogger((String) null).info(format, arg);
+ }
+
+ @Override
+ public void info(String format, Object arg1, Object arg2) {
+ getLogger((String) null).info(format, arg1, arg2);
+ }
+
+ @Override
+ public void info(String format, Object... arguments) {
+ getLogger((String) null).info(format, arguments);
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return getLogger((String) null).isWarnEnabled();
+ }
+
+ @Override
+ public void warn(String message) {
+ getLogger((String) null).warn(message);
+ }
+
+ @Override
+ public void warn(String format, Object arg) {
+ getLogger((String) null).warn(format, arg);
+ }
+
+ @Override
+ public void warn(String format, Object arg1, Object arg2) {
+ getLogger((String) null).warn(format, arg1, arg2);
+ }
+
+ @Override
+ public void warn(String format, Object... arguments) {
+ getLogger((String) null).warn(format, arguments);
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return getLogger((String) null).isErrorEnabled();
+ }
+
+ @Override
+ public void error(String message) {
+ getLogger((String) null).error(message);
+ }
+
+ @Override
+ public void error(String format, Object arg) {
+ getLogger((String) null).error(format, arg);
+ }
+
+ @Override
+ public void error(String format, Object arg1, Object arg2) {
+ getLogger((String) null).error(format, arg1, arg2);
+ }
+
+ @Override
+ public void error(String format, Object... arguments) {
+ getLogger((String) null).error(format, arguments);
+ }
+
+ @Override
+ public void audit(String message) {
+ getLogger((String) null).audit(message);
+ }
+
+ @Override
+ public void audit(String format, Object arg) {
+ getLogger((String) null).audit(format, arg);
+ }
+
+ @Override
+ public void audit(String format, Object arg1, Object arg2) {
+ getLogger((String) null).audit(format, arg1, arg2);
+ }
+
+ @Override
+ public void audit(String format, Object... arguments) {
+ getLogger((String) null).audit(format, arguments);
+ }
}

Back to the top