FELIX-4226 Add option to have the dependency manager log against a single BundleContext's LogService.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1522613 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/Logger.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/Logger.java
index a91c11c..9bc4edf 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/Logger.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/Logger.java
@@ -21,8 +21,10 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.apache.felix.dm.DependencyManager;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceEvent;
import org.osgi.framework.ServiceListener;
@@ -46,6 +48,7 @@
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
public class Logger implements ServiceListener {
+ private static final String LOG_SINGLE_CONTEXT = "org.apache.felix.dm.singleContextLog";
public static final int LOG_ERROR = 1;
public static final int LOG_WARNING = 2;
public static final int LOG_INFO = 3;
@@ -59,7 +62,11 @@
private Object[] m_logger = null;
public Logger(BundleContext context) {
- m_context = context;
+ if ("true".equals(System.getProperty(LOG_SINGLE_CONTEXT))) {
+ m_context = FrameworkUtil.getBundle(DependencyManager.class).getBundleContext();
+ } else {
+ m_context = context;
+ }
startListeningForLogService();
}