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();
     }