FELIX-5181: Only log info/debug if dm annotation log parameter is enabled.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1729458 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Activator.java b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Activator.java
index 91d702a..f693808 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Activator.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Activator.java
@@ -64,6 +64,8 @@
@Override
public void init(BundleContext context, DependencyManager dm) throws Exception
{
+ boolean logEnabled = "true".equalsIgnoreCase(context.getProperty(CONF_LOG));
+ Log.instance().enableLogs(logEnabled);
Component component = createComponent()
.setImplementation(DependencyManagerRuntime.class)
.setComposition("getComposition")
@@ -76,7 +78,7 @@
.setRequired(true)
.setService(PackageAdmin.class))
.add(createServiceDependency()
- .setRequired("true".equalsIgnoreCase(context.getProperty(CONF_LOG)))
+ .setRequired(logEnabled)
.setService(LogService.class));
dm.add(component);
diff --git a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/DependencyManagerRuntime.java b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/DependencyManagerRuntime.java
index b6994f8..f1bde97 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/DependencyManagerRuntime.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/DependencyManagerRuntime.java
@@ -88,7 +88,7 @@
*/
protected void start()
{
- Log.instance().info("Starting Dependency Manager annotation runtime");
+ Log.instance().info("Starting Dependency Manager annotation runtime.");
}
/**
diff --git a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Log.java b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Log.java
index f23ba0e..c41b956 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Log.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Log.java
@@ -29,6 +29,9 @@
{
/** The wrap log service which is actually used (Injected by Activator) */
private volatile LogService m_logService;
+
+ /** Log INFO/DEBUG only if logs are enabled, else only log ERROR/WARN messages */
+ private volatile boolean m_logEnabled;
/** Our sole instance */
private static Log m_instance = new Log();
@@ -38,6 +41,11 @@
return m_instance;
}
+ public void enableLogs(boolean logEnabled)
+ {
+ m_logEnabled = logEnabled;
+ }
+
public void error(String format, Object ... args)
{
m_logService.log(LogService.LOG_ERROR, String.format(format, args));
@@ -60,21 +68,25 @@
public void info(String format, Object ... args)
{
- m_logService.log(LogService.LOG_INFO, String.format(format, args));
+ if (m_logEnabled)
+ m_logService.log(LogService.LOG_INFO, String.format(format, args));
}
public void info(String format, Throwable t, Object ... args)
{
- m_logService.log(LogService.LOG_INFO, String.format(format, args), t);
+ if (m_logEnabled)
+ m_logService.log(LogService.LOG_INFO, String.format(format, args), t);
}
public void debug(String format, Object ... args)
{
- m_logService.log(LogService.LOG_DEBUG, String.format(format, args));
+ if (m_logEnabled)
+ m_logService.log(LogService.LOG_DEBUG, String.format(format, args));
}
public void debug(String format, Throwable t, Object ... args)
{
- m_logService.log(LogService.LOG_DEBUG, String.format(format, args), t);
+ if (m_logEnabled)
+ m_logService.log(LogService.LOG_DEBUG, String.format(format, args), t);
}
}