You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by tj...@apache.org on 2020/08/12 14:57:18 UTC
[felix-dev] 03/03: Additional fixes for extended logging.
This is an automated email from the ASF dual-hosted git repository.
tjwatson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
commit 3fcd7df2ef84941f5abdd51808c2bb5cddf4184c
Author: Thomas Watson <tj...@us.ibm.com>
AuthorDate: Tue Aug 11 13:55:11 2020 -0500
Additional fixes for extended logging.
- Allow enabling of the ExtLogManager from the context properties
- Fix the bundle object for the ComponentLogger
Signed-off-by: Thomas Watson <tj...@us.ibm.com>
---
scr/src/main/java/org/apache/felix/scr/impl/Activator.java | 14 ++++++++++++--
.../apache/felix/scr/impl/config/ScrConfigurationImpl.java | 2 ++
.../org/apache/felix/scr/impl/logger/ExtLogManager.java | 2 +-
.../org/apache/felix/scr/impl/logger/ScrLogManager.java | 2 +-
.../java/org/apache/felix/scr/impl/logger/LoggerTest.java | 2 +-
5 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/Activator.java b/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
index 491cdee..f3ab7cb 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
@@ -115,14 +115,13 @@ public class Activator extends AbstractExtender
{
m_context = context;
m_bundle = context.getBundle();
- // require the log service
- logger = ScrLogManager.scr(context, m_configuration);
// set bundle context for PackageAdmin tracker
ClassUtils.setBundleContext( context );
// get the configuration
m_configuration.start( m_context ); //this will call restart, which calls super.start.
}
+
public void restart(boolean globalExtender)
{
m_componentMetadataStore = load(m_context, logger,
@@ -652,4 +651,15 @@ public class Activator extends AbstractExtender
}
}
}
+
+ public void resetLogger()
+ {
+ // reset existing logger
+ ScrLogger existingLogger = logger;
+ if (existingLogger != null)
+ {
+ existingLogger.close();
+ }
+ logger = ScrLogManager.scr(m_context, m_configuration);
+ }
}
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java b/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java
index bf2778b..064312e 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java
@@ -213,6 +213,7 @@ public class ScrConfigurationImpl implements ScrConfiguration
newGlobalExtender = VALUE_TRUE.equalsIgnoreCase( String.valueOf( config.get( PROP_GLOBAL_EXTENDER) ) );
cacheMetadata = VALUE_TRUE.equalsIgnoreCase(
String.valueOf(config.get(PROP_CACHE_METADATA)));
+ logExtension = VALUE_TRUE.equalsIgnoreCase(String.valueOf(config.get(PROP_LOG_EXTENSION)));
}
if ( scrCommand != null )
{
@@ -221,6 +222,7 @@ public class ScrConfigurationImpl implements ScrConfiguration
oldGlobalExtender = this.globalExtender;
this.globalExtender = newGlobalExtender;
}
+ activator.resetLogger();
if ( newGlobalExtender != oldGlobalExtender )
{
activator.restart( newGlobalExtender );
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/logger/ExtLogManager.java b/scr/src/main/java/org/apache/felix/scr/impl/logger/ExtLogManager.java
index 3c99e5f..9c26355 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/logger/ExtLogManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/logger/ExtLogManager.java
@@ -64,7 +64,7 @@ class ExtLogManager extends ScrLogManager {
assert componentName != null;
String loggerName = SCR_LOGGER_PREFIX.concat(bundle.getSymbolicName()).concat(".").concat(componentName);
- ScrLoggerFacade logger = getLogger(this.bundle, loggerName, ScrLoggerFacade.class);
+ ScrLoggerFacade logger = getLogger(bundle, loggerName, ScrLoggerFacade.class);
logger.setPrefix("["+componentName+"]");
return logger;
}
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/logger/ScrLogManager.java b/scr/src/main/java/org/apache/felix/scr/impl/logger/ScrLogManager.java
index c97548a..6a1c18d 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/logger/ScrLogManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/logger/ScrLogManager.java
@@ -230,7 +230,7 @@ public class ScrLogManager extends LogManager {
}
@Override
- public ComponentLogger component(Bundle m_bundle, String implementationClassName, String name) {
+ public ComponentLogger component(Bundle bundle, String implementationClassName, String name) {
// assert !closed.get();
return ScrLogManager.this.component(bundle, implementationClassName, name);
}
diff --git a/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java b/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
index fa4e898..527b812 100644
--- a/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
+++ b/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
@@ -293,7 +293,7 @@ public class LoggerTest {
assertThat(l.entries).hasSize(1);
LogEntry le = l.entries.get(0);
assertThat(le.format).isEqualTo("[name] Component");
- assertThat(le.bundle).isEqualTo(scr);
+ assertThat(le.bundle).isEqualTo(component);
assertThat(le.loggername).isEqualTo(ExtLogManager.SCR_LOGGER_PREFIX + "component.name");
l.entries.clear();