You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ro...@apache.org on 2021/11/29 03:51:10 UTC

[felix-dev] branch master updated (68ee955 -> 0325531)

This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git.


    from 68ee955  FELIX-6476 Add support for OSGi Log 1.5 updated logger names
     new ca68735  [logback] cleanup the build and update to bnd 6.1.0
     new 32dd308  FELIX-6477 Add support for OSGi Log 1.5 updated logger names
     new e966705  [logback] don't use deprecated constructor
     new 836d3af  [logback] add LogService tests
     new 0325531  FELIX-6478 add support for passing OSGi Log 1.4 sequence numbers to future logback (1.3) / slf4j (2.0)

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 logback/itests/base.bndrun                         |   8 +
 .../immediate-equinox-logservice/itest.bndrun      |  11 +-
 .../itests/immediate-equinox-logservice/pom.xml    |  26 ++--
 .../apache/felix/logback/test/LogServiceTest.java  |  24 ++-
 .../itests/immediate-felix-logservice/itest.bndrun |  11 +-
 .../itests/immediate-felix-logservice/logback.xml  |  45 ------
 logback/itests/immediate-felix-logservice/pom.xml  |  32 +---
 .../apache/felix/logback/test/LogServiceTest.java  |  24 ++-
 logback/itests/immediate-jbl/itest.bndrun          |  23 +--
 logback/itests/immediate-jbl/logback.xml           |  45 ------
 logback/itests/immediate-jbl/pom.xml               |  13 +-
 logback/itests/immediate-jcl/itest.bndrun          |  27 ++--
 logback/itests/immediate-jcl/logback.xml           |  45 ------
 logback/itests/immediate-jcl/pom.xml               |  13 +-
 logback/itests/immediate-jul-felix/itest.bndrun    |  11 +-
 logback/itests/immediate-jul-felix/logback.xml     |  45 ------
 logback/itests/immediate-jul-felix/pom.xml         |  16 +-
 logback/itests/immediate-jul/itest.bndrun          |  17 +--
 logback/itests/immediate-jul/logback.xml           |  45 ------
 logback/itests/immediate-jul/pom.xml               |  13 +-
 logback/itests/immediate-log4j1/itest.bndrun       |  25 ++-
 logback/itests/immediate-log4j1/logback.xml        |  45 ------
 logback/itests/immediate-log4j1/pom.xml            |  13 +-
 logback/itests/immediate-log4j2/itest.bndrun       |  25 ++-
 logback/itests/immediate-log4j2/logback.xml        |  45 ------
 logback/itests/immediate-log4j2/pom.xml            |  13 +-
 logback/itests/immediate-slf4j/itest.bndrun        |  23 ++-
 logback/itests/immediate-slf4j/logback.xml         |  45 ------
 logback/itests/immediate-slf4j/pom.xml             |  13 +-
 logback/itests/itest-parent/pom.xml                | 168 +++++++++++++++++----
 .../{immediate-equinox-logservice => }/logback.xml |   8 +-
 .../standard-equinox-logservice/itest.bndrun       |  19 +--
 .../itests/standard-equinox-logservice/logback.xml |  40 -----
 logback/itests/standard-equinox-logservice/pom.xml |  25 ++-
 .../apache/felix/logback/test/LogServiceTest.java  |  24 ++-
 .../itests/standard-felix-logservice/itest.bndrun  |  22 ++-
 .../itests/standard-felix-logservice/logback.xml   |  45 ------
 logback/itests/standard-felix-logservice/pom.xml   |  26 ++--
 .../apache/felix/logback/test/LogServiceTest.java  |  24 ++-
 logback/itests/standard-jbl/itest.bndrun           |  22 +--
 logback/itests/standard-jbl/logback.xml            |  45 ------
 logback/itests/standard-jbl/pom.xml                |  13 +-
 logback/itests/standard-jcl/itest.bndrun           |  21 +--
 logback/itests/standard-jcl/logback.xml            |  45 ------
 logback/itests/standard-jcl/pom.xml                |  13 +-
 logback/itests/standard-jul/itest.bndrun           |  22 ++-
 logback/itests/standard-jul/logback.xml            |  45 ------
 logback/itests/standard-jul/pom.xml                |  10 +-
 logback/itests/standard-log4j1/itest.bndrun        |  19 +--
 logback/itests/standard-log4j1/logback.xml         |  45 ------
 logback/itests/standard-log4j1/pom.xml             |  13 +-
 logback/itests/standard-log4j2/itest.bndrun        |  19 +--
 logback/itests/standard-log4j2/logback.xml         |  45 ------
 logback/itests/standard-log4j2/pom.xml             |  13 +-
 logback/itests/standard-slf4j/itest.bndrun         |  17 +--
 logback/itests/standard-slf4j/logback.xml          |  45 ------
 logback/itests/standard-slf4j/pom.xml              |  13 +-
 logback/itests/test-helper/pom.xml                 |  23 +--
 .../felix/logback/test/helper/LogTestHelper.java   |  18 ++-
 logback/logback/pom.xml                            |  49 +++---
 .../apache/felix/logback/internal/Activator.java   |  43 ++++--
 .../felix/logback/internal/LogbackLogListener.java |  36 +++++
 logback/pom.xml                                    |  73 ---------
 63 files changed, 662 insertions(+), 1187 deletions(-)
 create mode 100644 logback/itests/base.bndrun
 delete mode 100644 logback/itests/immediate-felix-logservice/logback.xml
 delete mode 100644 logback/itests/immediate-jbl/logback.xml
 delete mode 100644 logback/itests/immediate-jcl/logback.xml
 delete mode 100644 logback/itests/immediate-jul-felix/logback.xml
 delete mode 100644 logback/itests/immediate-jul/logback.xml
 delete mode 100644 logback/itests/immediate-log4j1/logback.xml
 delete mode 100644 logback/itests/immediate-log4j2/logback.xml
 delete mode 100644 logback/itests/immediate-slf4j/logback.xml
 rename logback/itests/{immediate-equinox-logservice => }/logback.xml (91%)
 delete mode 100644 logback/itests/standard-equinox-logservice/logback.xml
 delete mode 100644 logback/itests/standard-felix-logservice/logback.xml
 delete mode 100644 logback/itests/standard-jbl/logback.xml
 delete mode 100644 logback/itests/standard-jcl/logback.xml
 delete mode 100644 logback/itests/standard-jul/logback.xml
 delete mode 100644 logback/itests/standard-log4j1/logback.xml
 delete mode 100644 logback/itests/standard-log4j2/logback.xml
 delete mode 100644 logback/itests/standard-slf4j/logback.xml

[felix-dev] 04/05: [logback] add LogService tests

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git

commit 836d3afebbe6d5d26c318dd0cc46f53fae9315e1
Author: Raymond Augé <ra...@liferay.com>
AuthorDate: Sun Nov 28 10:37:50 2021 -0500

    [logback] add LogService tests
    
    Signed-off-by: Raymond Augé <ra...@liferay.com>
---
 .../apache/felix/logback/test/LogServiceTest.java  | 22 ++++++++++++++++++++--
 .../apache/felix/logback/test/LogServiceTest.java  | 22 ++++++++++++++++++++--
 .../apache/felix/logback/test/LogServiceTest.java  | 22 ++++++++++++++++++++--
 .../apache/felix/logback/test/LogServiceTest.java  | 22 ++++++++++++++++++++--
 .../felix/logback/test/helper/LogTestHelper.java   | 14 +++++++++++++-
 5 files changed, 93 insertions(+), 9 deletions(-)

diff --git a/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index 4efcef9..e6444af 100644
--- a/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -25,6 +25,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogService;
 import org.osgi.service.log.Logger;
 
 public class LogServiceTest extends LogTestHelper {
@@ -48,11 +49,28 @@ public class LogServiceTest extends LogTestHelper {
         String refString = reference.toString();
 
         try {
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.immediate.equinox.logservice|ServiceEvent REGISTERED " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent REGISTERED " + refString);
         }
         finally {
             registration.unregister();
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.immediate.equinox.logservice|ServiceEvent UNREGISTERING " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent UNREGISTERING " + refString);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    @Test
+    public void logService() {
+        BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+        ServiceReference<LogService> reference = bundleContext.getServiceReference(LogService.class);
+        LogService logService = bundleContext.getService(reference);
+
+        logService.log(LogService.LOG_INFO, "Test log");
+
+        try {
+            assertLog("INFO|LogService." + getBSN() + "|Test log");
+        }
+        finally {
+            bundleContext.ungetService(reference);
         }
     }
 
diff --git a/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index c37e26c..e6444af 100644
--- a/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -25,6 +25,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogService;
 import org.osgi.service.log.Logger;
 
 public class LogServiceTest extends LogTestHelper {
@@ -48,11 +49,28 @@ public class LogServiceTest extends LogTestHelper {
         String refString = reference.toString();
 
         try {
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.immediate.felix.logservice|ServiceEvent REGISTERED " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent REGISTERED " + refString);
         }
         finally {
             registration.unregister();
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.immediate.felix.logservice|ServiceEvent UNREGISTERING " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent UNREGISTERING " + refString);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    @Test
+    public void logService() {
+        BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+        ServiceReference<LogService> reference = bundleContext.getServiceReference(LogService.class);
+        LogService logService = bundleContext.getService(reference);
+
+        logService.log(LogService.LOG_INFO, "Test log");
+
+        try {
+            assertLog("INFO|LogService." + getBSN() + "|Test log");
+        }
+        finally {
+            bundleContext.ungetService(reference);
         }
     }
 
diff --git a/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index 3a5cbdf..e6444af 100644
--- a/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -25,6 +25,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogService;
 import org.osgi.service.log.Logger;
 
 public class LogServiceTest extends LogTestHelper {
@@ -48,11 +49,28 @@ public class LogServiceTest extends LogTestHelper {
         String refString = reference.toString();
 
         try {
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.standard.equinox.logservice|ServiceEvent REGISTERED " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent REGISTERED " + refString);
         }
         finally {
             registration.unregister();
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.standard.equinox.logservice|ServiceEvent UNREGISTERING " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent UNREGISTERING " + refString);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    @Test
+    public void logService() {
+        BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+        ServiceReference<LogService> reference = bundleContext.getServiceReference(LogService.class);
+        LogService logService = bundleContext.getService(reference);
+
+        logService.log(LogService.LOG_INFO, "Test log");
+
+        try {
+            assertLog("INFO|LogService." + getBSN() + "|Test log");
+        }
+        finally {
+            bundleContext.ungetService(reference);
         }
     }
 
diff --git a/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index 5be53f8..e6444af 100644
--- a/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -25,6 +25,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogService;
 import org.osgi.service.log.Logger;
 
 public class LogServiceTest extends LogTestHelper {
@@ -48,11 +49,28 @@ public class LogServiceTest extends LogTestHelper {
         String refString = reference.toString();
 
         try {
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.standard.felix.logservice|ServiceEvent REGISTERED " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent REGISTERED " + refString);
         }
         finally {
             registration.unregister();
-            assertLog("INFO|Events.Service.org.apache.felix.logback.itests.standard.felix.logservice|ServiceEvent UNREGISTERING " + refString);
+            assertLog("INFO|Events.Service." + getBSN() + "|ServiceEvent UNREGISTERING " + refString);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    @Test
+    public void logService() {
+        BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+        ServiceReference<LogService> reference = bundleContext.getServiceReference(LogService.class);
+        LogService logService = bundleContext.getService(reference);
+
+        logService.log(LogService.LOG_INFO, "Test log");
+
+        try {
+            assertLog("INFO|LogService." + getBSN() + "|Test log");
+        }
+        finally {
+            bundleContext.ungetService(reference);
         }
     }
 
diff --git a/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java b/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
index f2762a0..aa6b9ec 100644
--- a/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
+++ b/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
@@ -20,7 +20,15 @@ package org.apache.felix.logback.test.helper;
 
 import java.util.Iterator;
 
+import org.apache.felix.logback.test.helper.ls.LogServiceHelper;
 import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.log.LogService;
+import org.osgi.service.log.Logger;
 
 import ch.qos.logback.classic.LoggerContext;
 import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
@@ -29,7 +37,7 @@ import ch.qos.logback.core.Appender;
 import ch.qos.logback.core.read.ListAppender;
 
 
-public class LogTestHelper {
+public abstract class LogTestHelper {
 
     protected static ListAppender<ILoggingEvent> listAppender;
     protected static PatternLayoutEncoder encoder;
@@ -54,6 +62,10 @@ public class LogTestHelper {
         encoder.start();
     }
 
+    public String getBSN() {
+        return FrameworkUtil.getBundle(getClass()).getSymbolicName();
+    }
+
     protected void assertLog(String level, String name, long time) {
         assertLog(level + "|" + name + "|" + time);
     }

[felix-dev] 03/05: [logback] don't use deprecated constructor

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git

commit e96670509f91bd118e4f0be65c61ac1a0ae6fec4
Author: Raymond Augé <ra...@liferay.com>
AuthorDate: Sun Nov 28 08:28:07 2021 -0500

    [logback] don't use deprecated constructor
    
    Signed-off-by: Raymond Augé <ra...@liferay.com>
---
 .../src/main/java/org/apache/felix/logback/test/LogServiceTest.java     | 2 +-
 .../src/main/java/org/apache/felix/logback/test/LogServiceTest.java     | 2 +-
 .../src/main/java/org/apache/felix/logback/test/LogServiceTest.java     | 2 +-
 .../src/main/java/org/apache/felix/logback/test/LogServiceTest.java     | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index 97484a8..4efcef9 100644
--- a/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/immediate-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -42,7 +42,7 @@ public class LogServiceTest extends LogTestHelper {
     @Test
     public void service() {
         BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
-        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, new Integer(25), null);
+        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, Integer.valueOf(25), null);
 
         ServiceReference<Integer> reference = registration.getReference();
         String refString = reference.toString();
diff --git a/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index e4afcb6..c37e26c 100644
--- a/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/immediate-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -42,7 +42,7 @@ public class LogServiceTest extends LogTestHelper {
     @Test
     public void service() {
         BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
-        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, new Integer(25), null);
+        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, Integer.valueOf(25), null);
 
         ServiceReference<Integer> reference = registration.getReference();
         String refString = reference.toString();
diff --git a/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index de92c67..3a5cbdf 100644
--- a/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/standard-equinox-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -42,7 +42,7 @@ public class LogServiceTest extends LogTestHelper {
     @Test
     public void service() {
         BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
-        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, new Integer(25), null);
+        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, Integer.valueOf(25), null);
 
         ServiceReference<Integer> reference = registration.getReference();
         String refString = reference.toString();
diff --git a/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java b/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
index 0ac55a1..5be53f8 100644
--- a/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
+++ b/logback/itests/standard-felix-logservice/src/main/java/org/apache/felix/logback/test/LogServiceTest.java
@@ -42,7 +42,7 @@ public class LogServiceTest extends LogTestHelper {
     @Test
     public void service() {
         BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
-        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, new Integer(25), null);
+        ServiceRegistration<Integer> registration = bundleContext.registerService(Integer.class, Integer.valueOf(25), null);
 
         ServiceReference<Integer> reference = registration.getReference();
         String refString = reference.toString();

[felix-dev] 02/05: FELIX-6477 Add support for OSGi Log 1.5 updated logger names

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git

commit 32dd30838b3b352f285b64d3dc4ee3a7aebc7daf
Author: Raymond Augé <ra...@liferay.com>
AuthorDate: Sat Nov 27 23:16:44 2021 -0500

    FELIX-6477 Add support for OSGi Log 1.5 updated logger names
    
    Signed-off-by: Raymond Augé <ra...@liferay.com>
---
 .../org/apache/felix/logback/internal/LogbackLogListener.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java b/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
index cca075d..179f81e 100644
--- a/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
+++ b/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
@@ -83,12 +83,23 @@ public class LogbackLogListener implements LogListener, LoggerContextListener {
             loggerName = formatBundle(entry.getBundle(), loggerName);
             avoidCallerData.set(true);
         }
+        else if (loggerName.startsWith(EVENTS_BUNDLE) ||
+                 loggerName.startsWith(EVENTS_FRAMEWORK) ||
+                 loggerName.startsWith(LOG_SERVICE)) {
+
+            avoidCallerData.set(true);
+        }
         else if (EVENTS_SERVICE.equals(loggerName)) {
             loggerName = formatBundle(entry.getBundle(), loggerName);
             message = message + " {}";
             arguments = new Object[] {entry.getServiceReference()};
             avoidCallerData.set(true);
         }
+        else if (loggerName.startsWith(EVENTS_SERVICE)) {
+            message = message + " {}";
+            arguments = new Object[] {entry.getServiceReference()};
+            avoidCallerData.set(true);
+        }
 
         Logger logger = loggerContext.getLogger(loggerName);
 

[felix-dev] 01/05: [logback] cleanup the build and update to bnd 6.1.0

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git

commit ca68735741665b23291af4d33ff909be55fc2362
Author: Raymond Augé <ra...@liferay.com>
AuthorDate: Sat Nov 27 12:02:44 2021 -0500

    [logback] cleanup the build and update to bnd 6.1.0
    
    Signed-off-by: Raymond Augé <ra...@liferay.com>
---
 logback/itests/base.bndrun                         |   8 ++
 .../immediate-equinox-logservice/itest.bndrun      |  11 +-
 .../itests/immediate-equinox-logservice/pom.xml    |  26 ++--
 .../itests/immediate-felix-logservice/itest.bndrun |  11 +-
 .../itests/immediate-felix-logservice/logback.xml  |  45 -------
 logback/itests/immediate-felix-logservice/pom.xml  |  32 +----
 logback/itests/immediate-jbl/itest.bndrun          |  17 +--
 logback/itests/immediate-jbl/logback.xml           |  45 -------
 logback/itests/immediate-jbl/pom.xml               |  13 +-
 logback/itests/immediate-jcl/itest.bndrun          |  19 +--
 logback/itests/immediate-jcl/logback.xml           |  45 -------
 logback/itests/immediate-jcl/pom.xml               |  13 +-
 logback/itests/immediate-jul-felix/itest.bndrun    |  11 +-
 logback/itests/immediate-jul-felix/logback.xml     |  45 -------
 logback/itests/immediate-jul-felix/pom.xml         |  16 +--
 logback/itests/immediate-jul/itest.bndrun          |  17 +--
 logback/itests/immediate-jul/logback.xml           |  45 -------
 logback/itests/immediate-jul/pom.xml               |  13 +-
 logback/itests/immediate-log4j1/itest.bndrun       |  19 +--
 logback/itests/immediate-log4j1/logback.xml        |  45 -------
 logback/itests/immediate-log4j1/pom.xml            |  13 +-
 logback/itests/immediate-log4j2/itest.bndrun       |  19 +--
 logback/itests/immediate-log4j2/logback.xml        |  45 -------
 logback/itests/immediate-log4j2/pom.xml            |  13 +-
 logback/itests/immediate-slf4j/itest.bndrun        |  17 +--
 logback/itests/immediate-slf4j/logback.xml         |  45 -------
 logback/itests/immediate-slf4j/pom.xml             |  13 +-
 logback/itests/itest-parent/pom.xml                | 146 ++++++++++++++++-----
 .../{immediate-equinox-logservice => }/logback.xml |   8 +-
 .../standard-equinox-logservice/itest.bndrun       |  17 +--
 .../itests/standard-equinox-logservice/logback.xml |  40 ------
 logback/itests/standard-equinox-logservice/pom.xml |  25 ++--
 .../itests/standard-felix-logservice/itest.bndrun  |  22 ++--
 .../itests/standard-felix-logservice/logback.xml   |  45 -------
 logback/itests/standard-felix-logservice/pom.xml   |  26 ++--
 logback/itests/standard-jbl/itest.bndrun           |  15 +--
 logback/itests/standard-jbl/logback.xml            |  45 -------
 logback/itests/standard-jbl/pom.xml                |  13 +-
 logback/itests/standard-jcl/itest.bndrun           |  17 +--
 logback/itests/standard-jcl/logback.xml            |  45 -------
 logback/itests/standard-jcl/pom.xml                |  13 +-
 logback/itests/standard-jul/itest.bndrun           |  22 ++--
 logback/itests/standard-jul/logback.xml            |  45 -------
 logback/itests/standard-jul/pom.xml                |  10 +-
 logback/itests/standard-log4j1/itest.bndrun        |  17 +--
 logback/itests/standard-log4j1/logback.xml         |  45 -------
 logback/itests/standard-log4j1/pom.xml             |  13 +-
 logback/itests/standard-log4j2/itest.bndrun        |  19 +--
 logback/itests/standard-log4j2/logback.xml         |  45 -------
 logback/itests/standard-log4j2/pom.xml             |  13 +-
 logback/itests/standard-slf4j/itest.bndrun         |  15 +--
 logback/itests/standard-slf4j/logback.xml          |  45 -------
 logback/itests/standard-slf4j/pom.xml              |  13 +-
 logback/itests/test-helper/pom.xml                 |  23 +---
 .../felix/logback/test/helper/LogTestHelper.java   |   4 +-
 logback/logback/pom.xml                            |  33 ++---
 logback/pom.xml                                    |  73 -----------
 57 files changed, 422 insertions(+), 1151 deletions(-)

diff --git a/logback/itests/base.bndrun b/logback/itests/base.bndrun
new file mode 100644
index 0000000..6cb0682
--- /dev/null
+++ b/logback/itests/base.bndrun
@@ -0,0 +1,8 @@
+-resolve.effective: resolve, active
+
+-runproperties.base: \
+    logback.configurationFile=${fileuri;${.}/logback.xml}
+
+-runstartlevel: \
+    order=sortbynameversion,\
+    begin=-1
diff --git a/logback/itests/immediate-equinox-logservice/itest.bndrun b/logback/itests/immediate-equinox-logservice/itest.bndrun
index 213351c..95424cb 100644
--- a/logback/itests/immediate-equinox-logservice/itest.bndrun
+++ b/logback/itests/immediate-equinox-logservice/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.eclipse.osgi
 
@@ -13,9 +11,6 @@
     slf4j.api;version=latest,\
     org.apache.felix.logback;version=latest
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    org.apache.felix.logback.itests.immediate.equinox.logservice;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.equinox.logservice;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-equinox-logservice/pom.xml b/logback/itests/immediate-equinox-logservice/pom.xml
index 0e6fffd..aa05340 100644
--- a/logback/itests/immediate-equinox-logservice/pom.xml
+++ b/logback/itests/immediate-equinox-logservice/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,21 +26,15 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.equinox.logservice</artifactId>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-                <configuration>
-                    <bnd><![CDATA[
-                        -conditionalpackage: org.apache.felix.logback.test.helper.*
-                    ]]></bnd>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
 </project>
diff --git a/logback/itests/immediate-felix-logservice/itest.bndrun b/logback/itests/immediate-felix-logservice/itest.bndrun
index 581eb32..f075432 100644
--- a/logback/itests/immediate-felix-logservice/itest.bndrun
+++ b/logback/itests/immediate-felix-logservice/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -15,10 +13,7 @@
     org.apache.felix.log;version=latest,\
     org.apache.felix.logback;version=latest
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
     org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
-    org.apache.felix.logback.itests.immediate.felix.logservice;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.felix.logservice;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-felix-logservice/logback.xml b/logback/itests/immediate-felix-logservice/logback.xml
deleted file mode 100644
index 0fc5b28..0000000
--- a/logback/itests/immediate-felix-logservice/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.felix.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.felix.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-felix-logservice/pom.xml b/logback/itests/immediate-felix-logservice/pom.xml
index 96b8bd7..e0efc8c 100644
--- a/logback/itests/immediate-felix-logservice/pom.xml
+++ b/logback/itests/immediate-felix-logservice/pom.xml
@@ -17,43 +17,23 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
         <version>1.0.0-SNAPSHOT</version>
-        <relativePath>../itest-parent/pom.xml</relativePath>
+        <relativePath>../itest-parent</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.felix.logservice</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log</artifactId>
-            <version>1.2.0</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log.extension</artifactId>
-            <version>1.0.0</version>
-            <scope>runtime</scope>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-                <configuration>
-                    <bnd><![CDATA[
-                        -conditionalpackage: org.apache.felix.logback.test.helper.*
-                    ]]></bnd>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/logback/itests/immediate-jbl/itest.bndrun b/logback/itests/immediate-jbl/itest.bndrun
index 67a9f92..ccda978 100644
--- a/logback/itests/immediate-jbl/itest.bndrun
+++ b/logback/itests/immediate-jbl/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -13,15 +11,14 @@
     slf4j.api;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml},\
+-runproperties.this: \
     org.jboss.logging.provider=slf4j
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
     org.apache.felix.logback.itests.immediate.jbl;version='[1.0.0,1.0.1)',\
-    org.jboss.logging.jboss-logging;version='[3.3.2,3.3.3)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    org.jboss.logging.jboss-logging;version='[3.4.2,3.4.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jbl/logback.xml b/logback/itests/immediate-jbl/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-jbl/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-jbl/pom.xml b/logback/itests/immediate-jbl/pom.xml
index a4fa2d3..60fbf05 100644
--- a/logback/itests/immediate-jbl/pom.xml
+++ b/logback/itests/immediate-jbl/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.jbl</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/immediate-jcl/itest.bndrun b/logback/itests/immediate-jcl/itest.bndrun
index 268cdc2..a9a6e8c 100644
--- a/logback/itests/immediate-jcl/itest.bndrun
+++ b/logback/itests/immediate-jcl/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -14,15 +12,12 @@
     slf4j.api;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
-
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    log4j.over.slf4j;version='[1.7.25,1.7.26)',\
+    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
     org.apache.commons.logging;version='[1.2.0,1.2.1)',\
-    org.apache.felix.logback.itests.immediate.jcl;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.jcl;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jcl/logback.xml b/logback/itests/immediate-jcl/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-jcl/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-jcl/pom.xml b/logback/itests/immediate-jcl/pom.xml
index 86bb036..e3cf061 100644
--- a/logback/itests/immediate-jcl/pom.xml
+++ b/logback/itests/immediate-jcl/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.jcl</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/immediate-jul-felix/itest.bndrun b/logback/itests/immediate-jul-felix/itest.bndrun
index 1a70be1..9641288 100644
--- a/logback/itests/immediate-jul-felix/itest.bndrun
+++ b/logback/itests/immediate-jul-felix/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -15,10 +13,7 @@
     org.apache.felix.log;version=latest,\
     org.apache.felix.logback;version=latest
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
     org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
-    org.apache.felix.logback.itests.immediate.jul.felix;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.jul.felix;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jul-felix/logback.xml b/logback/itests/immediate-jul-felix/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-jul-felix/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-jul-felix/pom.xml b/logback/itests/immediate-jul-felix/pom.xml
index 226f625..00dc151 100644
--- a/logback/itests/immediate-jul-felix/pom.xml
+++ b/logback/itests/immediate-jul-felix/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,22 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.jul.felix</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log</artifactId>
-            <version>1.2.0</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log.extension</artifactId>
-            <version>1.0.0</version>
-            <scope>runtime</scope>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 </project>
diff --git a/logback/itests/immediate-jul/itest.bndrun b/logback/itests/immediate-jul/itest.bndrun
index c727480..6568bb6 100644
--- a/logback/itests/immediate-jul/itest.bndrun
+++ b/logback/itests/immediate-jul/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.eclipse.osgi
 
@@ -14,13 +12,10 @@
     org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
-
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    org.apache.felix.logback.itests.immediate.jul;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.jul;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jul/logback.xml b/logback/itests/immediate-jul/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-jul/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-jul/pom.xml b/logback/itests/immediate-jul/pom.xml
index 08314e6..a341a69 100644
--- a/logback/itests/immediate-jul/pom.xml
+++ b/logback/itests/immediate-jul/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.jul</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/immediate-log4j1/itest.bndrun b/logback/itests/immediate-log4j1/itest.bndrun
index 3f38f6d..7b60182 100644
--- a/logback/itests/immediate-log4j1/itest.bndrun
+++ b/logback/itests/immediate-log4j1/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -13,14 +11,11 @@
     slf4j.api;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
-
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    log4j.over.slf4j;version='[1.7.25,1.7.26)',\
-    org.apache.felix.logback.itests.immediate.log4j1;version='[1.0.0,1.0.1)'
+    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
+    org.apache.felix.logback.itests.immediate.log4j1;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-log4j1/logback.xml b/logback/itests/immediate-log4j1/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-log4j1/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-log4j1/pom.xml b/logback/itests/immediate-log4j1/pom.xml
index 6cc52cb..bc7926c 100644
--- a/logback/itests/immediate-log4j1/pom.xml
+++ b/logback/itests/immediate-log4j1/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.log4j1</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/immediate-log4j2/itest.bndrun b/logback/itests/immediate-log4j2/itest.bndrun
index e74120a..a626507 100644
--- a/logback/itests/immediate-log4j2/itest.bndrun
+++ b/logback/itests/immediate-log4j2/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -15,14 +13,11 @@
     slf4j.api;version=latest
 
 -runsystempackages: \
-    org.apache.logging.log4j;version=2.11.0,\
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
-
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    org.apache.logging.log4j;version=${apache.logging.log4j.version},\
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    org.apache.felix.logback.itests.immediate.log4j2;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.log4j2;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-log4j2/logback.xml b/logback/itests/immediate-log4j2/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-log4j2/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-log4j2/pom.xml b/logback/itests/immediate-log4j2/pom.xml
index 6848f82..f79b92b 100644
--- a/logback/itests/immediate-log4j2/pom.xml
+++ b/logback/itests/immediate-log4j2/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.log4j2</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/immediate-slf4j/itest.bndrun b/logback/itests/immediate-slf4j/itest.bndrun
index a8a66d5..b5a8f7e 100644
--- a/logback/itests/immediate-slf4j/itest.bndrun
+++ b/logback/itests/immediate-slf4j/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -13,13 +11,10 @@
     slf4j.api;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=1.7.25,\
-    org.slf4j.helpers;version=1.7.25,\
-    org.slf4j.spi;version=1.7.25
-
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    org.slf4j;version=${slf4j.api.version},\
+    org.slf4j.helpers;version=${slf4j.api.version},\
+    org.slf4j.spi;version=${slf4j.api.version}
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    org.apache.felix.logback.itests.immediate.slf4j;version='[1.0.0,1.0.1)'
+    org.apache.felix.logback.itests.immediate.slf4j;version='[1.0.0,1.0.1)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-slf4j/logback.xml b/logback/itests/immediate-slf4j/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/immediate-slf4j/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/immediate-slf4j/pom.xml b/logback/itests/immediate-slf4j/pom.xml
index 586690c..eb6611b 100644
--- a/logback/itests/immediate-slf4j/pom.xml
+++ b/logback/itests/immediate-slf4j/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.immediate.slf4j</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/itest-parent/pom.xml b/logback/itests/itest-parent/pom.xml
index 2c28c12..cd40dc0 100644
--- a/logback/itests/itest-parent/pom.xml
+++ b/logback/itests/itest-parent/pom.xml
@@ -28,7 +28,6 @@
 
     <name>Apache Felix Logback ITests Parent POM</name>
     <artifactId>org.apache.felix.logback.itests.parent</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <scm>
@@ -38,6 +37,17 @@
     </scm>
 
     <properties>
+        <bnd.version>6.1.0</bnd.version>
+
+        <felix.java.version>8</felix.java.version>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <apache.logging.log4j.version>2.14.1</apache.logging.log4j.version>
+        <felix.log.version>1.2.5-SNAPSHOT</felix.log.version>
+        <slf4j.api.version>1.7.32</slf4j.api.version>
+
         <animal.sniffer.skip>true</animal.sniffer.skip>
         <maven.deploy.skip>true</maven.deploy.skip>
         <maven.javadoc.skip>true</maven.javadoc.skip>
@@ -47,19 +57,19 @@
 
     <dependencies>
         <dependency>
-            <groupId>biz.aQute.bnd</groupId>
-            <artifactId>biz.aQute.junit</artifactId>
-            <version>${bnd.version}</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.api.version}</version>
         </dependency>
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-            <version>1.2.3</version>
+            <version>1.2.7</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.annotation</artifactId>
-            <version>7.0.0</version>
+            <version>8.0.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -76,46 +86,52 @@
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.function</artifactId>
-            <version>1.1.0</version>
+            <version>1.2.0</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.promise</artifactId>
-            <version>1.1.0</version>
+            <version>1.2.0</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.pushstream</artifactId>
-            <version>1.0.0</version>
+            <version>1.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.configadmin</artifactId>
+            <version>1.9.22</version>
+            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
-            <version>6.0.1</version>
+            <version>7.0.1</version>
             <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.logback</artifactId>
-            <version>1.0.1-SNAPSHOT</version>
+            <version>1.0.3-SNAPSHOT</version>
             <scope>runtime</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
-            <version>${project.version}</version>
-            <scope>provided</scope>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.junit</artifactId>
+            <version>4.13.2_1</version>
+            <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.eclipse.platform</groupId>
             <artifactId>org.eclipse.osgi</artifactId>
-            <version>3.13.0</version>
+            <version>3.17.0</version>
             <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.jboss.logging</groupId>
             <artifactId>jboss-logging</artifactId>
-            <version>3.3.2.Final</version>
+            <version>3.4.2.Final</version>
         </dependency>
         <dependency>
             <groupId>commons-logging</groupId>
@@ -125,37 +141,31 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>log4j-over-slf4j</artifactId>
-            <version>1.7.25</version>
+            <version>1.7.32</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-api</artifactId>
-            <version>2.11.1</version>
+            <version>${apache.logging.log4j.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-to-slf4j</artifactId>
-            <version>2.11.1</version>
+            <version>2.14.1</version>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-maven-plugin</artifactId>
                 <configuration>
                     <bnd><![CDATA[
-                        Test-Cases: ${classes;CONCRETE;ANNOTATED;org.junit.Test}
-                        -conditionalpackage: org.apache.felix.logback.test.helper
+                        Test-Cases: ${classes;CONCRETE;HIERARCHY_ANNOTATED;org.junit.Test}
+                        -conditionalpackage: \
+                            org.apache.felix.logback.test.helper,\
+                            org.apache.felix.logback.test.helper.ls
                     ]]></bnd>
                 </configuration>
             </plugin>
@@ -167,28 +177,104 @@
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-testing-maven-plugin</artifactId>
             </plugin>
+            <plugin>
+                <!--
+                    This is used for diagnostics by invoking it like:
+
+                    mvn antrun:run@props [-N]
+                -->
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>3.0.0</version>
+                <executions>
+                    <execution>
+                        <id>props</id>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <target>
+                                <echoproperties />
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>biz.aQute.bnd</groupId>
+                    <artifactId>bnd-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
+                    <executions>
+                        <execution>
+                            <id>bnd-process</id>
+                            <goals>
+                                <goal>bnd-process</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>biz.aQute.bnd</groupId>
                     <artifactId>bnd-resolver-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
                     <configuration>
                         <failOnChanges>false</failOnChanges>
+                        <reportOptional>false</reportOptional>
                         <bndruns>
                             <bndrun>itest.bndrun</bndrun>
                         </bndruns>
+                        <scopes>
+                            <scope>compile</scope>
+                            <scope>runtime</scope>
+                            <scope>test</scope>
+                        </scopes>
                     </configuration>
+                    <executions>
+                        <execution>
+                            <id>resolve</id>
+                            <goals>
+                                <goal>resolve</goal>
+                            </goals>
+                            <phase>package</phase>
+                        </execution>
+                    </executions>
                 </plugin>
                 <plugin>
                     <groupId>biz.aQute.bnd</groupId>
                     <artifactId>bnd-testing-maven-plugin</artifactId>
+                    <version>${bnd.version}</version>
                     <configuration>
                         <failOnChanges>false</failOnChanges>
                         <resolve>false</resolve>
                         <bndruns>
                             <bndrun>itest.bndrun</bndrun>
                         </bndruns>
+                        <scopes>
+                            <scope>compile</scope>
+                            <scope>runtime</scope>
+                            <scope>test</scope>
+                        </scopes>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>testing</id>
+                            <goals>
+                                <goal>testing</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>3.2.0</version>
+                    <configuration>
+                        <archive>
+                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                        </archive>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/logback/itests/immediate-equinox-logservice/logback.xml b/logback/itests/logback.xml
similarity index 91%
rename from logback/itests/immediate-equinox-logservice/logback.xml
rename to logback/itests/logback.xml
index 8ba6eb3..3c424d2 100644
--- a/logback/itests/immediate-equinox-logservice/logback.xml
+++ b/logback/itests/logback.xml
@@ -28,12 +28,12 @@
     </appender>
     <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
 
-    <logger name="Events.Service.org.apache.felix.logback.itests" level="DEBUG"/>
-    <logger name="LogService.org.apache.felix.logback.itests" level="DEBUG"/>
+    <logger name="Events.Service.org.apache.felix.logback.itests" level="INFO"/>
+    <logger name="LogService.org.apache.felix.logback.itests" level="INFO"/>
 
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
+    <logger name="org.apache.felix.logback.test" level="INFO" />
 
-    <root level="ERROR">
+    <root level="OFF">
         <appender-ref ref="STDOUT" />
         <appender-ref ref="FILE" />
     </root>
diff --git a/logback/itests/standard-equinox-logservice/itest.bndrun b/logback/itests/standard-equinox-logservice/itest.bndrun
index b89f732..c90ab1f 100644
--- a/logback/itests/standard-equinox-logservice/itest.bndrun
+++ b/logback/itests/standard-equinox-logservice/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.eclipse.osgi
 
@@ -10,13 +8,12 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.equinox.logservice)'
 
 -runproperties: \
-    eclipse.log.enabled=false,\
-    logback.configurationFile=${fileuri;${.}/logback.xml}
+    eclipse.log.enabled=false
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+    org.apache.felix.logback;version='[1.0.3,1.0.4)',\
     org.apache.felix.logback.itests.standard.equinox.logservice;version='[1.0.0,1.0.1)',\
-    org.apache.felix.logback;version='[1.0.1,1.0.2)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-equinox-logservice/logback.xml b/logback/itests/standard-equinox-logservice/logback.xml
deleted file mode 100644
index 3c75150..0000000
--- a/logback/itests/standard-equinox-logservice/logback.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Service.org.apache.felix.logback.itests" level="DEBUG"/>
-    <logger name="LogService.org.apache.felix.logback.itests" level="DEBUG"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-equinox-logservice/pom.xml b/logback/itests/standard-equinox-logservice/pom.xml
index 7ec38a9..2b7c5b0 100644
--- a/logback/itests/standard-equinox-logservice/pom.xml
+++ b/logback/itests/standard-equinox-logservice/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,21 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.equinox.logservice</artifactId>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-                <configuration>
-                    <bnd><![CDATA[
-                        -conditionalpackage: org.apache.felix.logback.test.helper.*
-                    ]]></bnd>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/standard-felix-logservice/itest.bndrun b/logback/itests/standard-felix-logservice/itest.bndrun
index 1ec5876..c1f206e 100644
--- a/logback/itests/standard-felix-logservice/itest.bndrun
+++ b/logback/itests/standard-felix-logservice/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -12,14 +10,12 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.felix.logservice)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
-    org.apache.felix.log;version='[1.2.0,1.2.1)',\
-    org.apache.felix.logback.itests.standard.felix.logservice;version='[1.0.0,1.0.1)',\
-    org.apache.felix.logback;version='[1.0.1,1.0.2)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	org.apache.felix.configadmin;version='[1.9.22,1.9.23)',\
+	org.apache.felix.log;version='[1.2.5,1.2.6)',\
+	org.apache.felix.logback;version='[1.0.3,1.0.4)',\
+	org.apache.felix.logback.itests.standard.felix.logservice;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-felix-logservice/logback.xml b/logback/itests/standard-felix-logservice/logback.xml
deleted file mode 100644
index 0fc5b28..0000000
--- a/logback/itests/standard-felix-logservice/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.felix.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.felix.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-felix-logservice/pom.xml b/logback/itests/standard-felix-logservice/pom.xml
index 626d942..1f02717 100644
--- a/logback/itests/standard-felix-logservice/pom.xml
+++ b/logback/itests/standard-felix-logservice/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,30 +26,20 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.felix.logservice</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.log</artifactId>
-            <version>1.2.0</version>
+            <version>${felix.log.version}</version>
             <scope>runtime</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-                <configuration>
-                    <bnd><![CDATA[
-                        -conditionalpackage: org.apache.felix.logback.test.helper.*
-                    ]]></bnd>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/logback/itests/standard-jbl/itest.bndrun b/logback/itests/standard-jbl/itest.bndrun
index 49db351..58ae862 100644
--- a/logback/itests/standard-jbl/itest.bndrun
+++ b/logback/itests/standard-jbl/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -9,13 +7,12 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.jbl)'
 
 -runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml},\
     org.jboss.logging.provider=slf4j
 
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
     org.apache.felix.logback.itests.standard.jbl;version='[1.0.0,1.0.1)',\
-    org.jboss.logging.jboss-logging;version='[3.3.2,3.3.3)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    org.jboss.logging.jboss-logging;version='[3.4.2,3.4.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-jbl/logback.xml b/logback/itests/standard-jbl/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-jbl/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-jbl/pom.xml b/logback/itests/standard-jbl/pom.xml
index 918d4c1..591aa63 100644
--- a/logback/itests/standard-jbl/pom.xml
+++ b/logback/itests/standard-jbl/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.jbl</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/standard-jcl/itest.bndrun b/logback/itests/standard-jcl/itest.bndrun
index 49bd119..5be9330 100644
--- a/logback/itests/standard-jcl/itest.bndrun
+++ b/logback/itests/standard-jcl/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -9,14 +7,11 @@
     osgi.identity;filter:='(osgi.identity=log4j.over.slf4j)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.jcl)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
-    log4j.over.slf4j;version='[1.7.25,1.7.26)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
     org.apache.commons.logging;version='[1.2.0,1.2.1)',\
     org.apache.felix.logback.itests.standard.jcl;version='[1.0.0,1.0.1)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-jcl/logback.xml b/logback/itests/standard-jcl/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-jcl/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-jcl/pom.xml b/logback/itests/standard-jcl/pom.xml
index 2591b5f..7b7ad3a 100644
--- a/logback/itests/standard-jcl/pom.xml
+++ b/logback/itests/standard-jcl/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.jcl</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/standard-jul/itest.bndrun b/logback/itests/standard-jul/itest.bndrun
index 919b224..773faf8 100644
--- a/logback/itests/standard-jul/itest.bndrun
+++ b/logback/itests/standard-jul/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -10,14 +8,12 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.jul)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
-    org.apache.felix.log;version='[1.2.0,1.2.1)',\
-    org.apache.felix.logback.itests.standard.jul;version='[1.0.0,1.0.1)',\
-    org.apache.felix.logback;version='[1.0.1,1.0.2)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	org.apache.felix.configadmin;version='[1.9.22,1.9.23)',\
+	org.apache.felix.log;version='[1.2.5,1.2.6)',\
+	org.apache.felix.logback;version='[1.0.3,1.0.4)',\
+	org.apache.felix.logback.itests.standard.jul;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-jul/logback.xml b/logback/itests/standard-jul/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-jul/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-jul/pom.xml b/logback/itests/standard-jul/pom.xml
index 122b205..ac8d267 100644
--- a/logback/itests/standard-jul/pom.xml
+++ b/logback/itests/standard-jul/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,16 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.jul</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log</artifactId>
-            <version>1.2.0</version>
-            <scope>runtime</scope>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 </project>
diff --git a/logback/itests/standard-log4j1/itest.bndrun b/logback/itests/standard-log4j1/itest.bndrun
index 4d637e0..8a5897c 100644
--- a/logback/itests/standard-log4j1/itest.bndrun
+++ b/logback/itests/standard-log4j1/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -8,13 +6,10 @@
     osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.log4j1)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
-    log4j.over.slf4j;version='[1.7.25,1.7.26)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
     org.apache.felix.logback.itests.standard.log4j1;version='[1.0.0,1.0.1)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-log4j1/logback.xml b/logback/itests/standard-log4j1/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-log4j1/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-log4j1/pom.xml b/logback/itests/standard-log4j1/pom.xml
index 54a2194..1f75d63 100644
--- a/logback/itests/standard-log4j1/pom.xml
+++ b/logback/itests/standard-log4j1/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.log4j1</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/standard-log4j2/itest.bndrun b/logback/itests/standard-log4j2/itest.bndrun
index af49987..2f77fe4 100644
--- a/logback/itests/standard-log4j2/itest.bndrun
+++ b/logback/itests/standard-log4j2/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -9,14 +7,11 @@
     osgi.identity;filter:='(osgi.identity=org.apache.logging.log4j.to-slf4j)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.log4j2)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
     org.apache.felix.logback.itests.standard.log4j2;version='[1.0.0,1.0.1)',\
-    org.apache.logging.log4j.api;version='[2.11.1,2.11.2)',\
-    org.apache.logging.log4j.to-slf4j;version='[2.11.1,2.11.2)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.logging.log4j.api;version='[2.14.1,2.14.2)',\
+    org.apache.logging.log4j.to-slf4j;version='[2.14.1,2.14.2)',\
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-log4j2/logback.xml b/logback/itests/standard-log4j2/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-log4j2/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-log4j2/pom.xml b/logback/itests/standard-log4j2/pom.xml
index 10daf6f..3759f90 100644
--- a/logback/itests/standard-log4j2/pom.xml
+++ b/logback/itests/standard-log4j2/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.log4j2</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/standard-slf4j/itest.bndrun b/logback/itests/standard-slf4j/itest.bndrun
index 0f54eec..42f4c2c 100644
--- a/logback/itests/standard-slf4j/itest.bndrun
+++ b/logback/itests/standard-slf4j/itest.bndrun
@@ -1,6 +1,4 @@
--standalone: true
--runee: JavaSE-1.8
--resolve.effective: resolve, active
+-include: ../base.bndrun
 
 -runfw: org.apache.felix.framework
 
@@ -8,12 +6,9 @@
     osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.slf4j)'
 
--runproperties: \
-    logback.configurationFile=${fileuri;${.}/logback.xml}
-
 -runbundles: \
-    biz.aQute.junit;version='[5.0.1,5.0.2)',\
-    ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
-    ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
     org.apache.felix.logback.itests.standard.slf4j;version='[1.0.0,1.0.1)',\
-    slf4j.api;version='[1.7.25,1.7.26)'
+    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-slf4j/logback.xml b/logback/itests/standard-slf4j/logback.xml
deleted file mode 100644
index 289c3cf..0000000
--- a/logback/itests/standard-slf4j/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<configuration>
-    <!--  scan="true" scanPeriod="5 seconds" debug="true"> -->
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <!-- <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern> -->
-            <pattern>%-5level %logger{1000}:%line - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender name="FILE" class="ch.qos.logback.core.read.ListAppender" />
-
-    <logger name="Events.Bundle" level="ERROR"/>
-    <logger name="Events.Framework" level="ERROR"/>
-    <logger name="Events.Service" level="ERROR"/>
-    <logger name="LogService" level="ERROR"/>
-
-    <logger name="Events.Service.org.apache.logback.itests" level="INFO"/>
-    <logger name="LogService.org.apache.logback.itests" level="OFF"/>
-
-    <logger name="org.apache.felix.logback.test" level="DEBUG" />
-
-    <root level="ERROR">
-        <appender-ref ref="STDOUT" />
-        <appender-ref ref="FILE" />
-    </root>
-</configuration>
diff --git a/logback/itests/standard-slf4j/pom.xml b/logback/itests/standard-slf4j/pom.xml
index 9b1d762..0ff9697 100644
--- a/logback/itests/standard-slf4j/pom.xml
+++ b/logback/itests/standard-slf4j/pom.xml
@@ -17,6 +17,8 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.felix</groupId>
         <artifactId>org.apache.felix.logback.itests.parent</artifactId>
@@ -24,7 +26,14 @@
         <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>jar</packaging>
     <artifactId>org.apache.felix.logback.itests.standard.slf4j</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.logback.itests.helper</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/logback/itests/test-helper/pom.xml b/logback/itests/test-helper/pom.xml
index c9f0c18..4634044 100644
--- a/logback/itests/test-helper/pom.xml
+++ b/logback/itests/test-helper/pom.xml
@@ -19,9 +19,9 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <parent>
         <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.logback.reactor</artifactId>
+        <artifactId>org.apache.felix.logback.itests.parent</artifactId>
         <version>1.0.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../itest-parent/pom.xml</relativePath>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
@@ -34,6 +34,8 @@
         <maven.javadoc.skip>true</maven.javadoc.skip>
         <maven.site.skip>true</maven.site.skip>
         <maven.source.skip>true</maven.source.skip>
+        <maven.test.skip>true</maven.test.skip>
+        <bnd.resolve.skip>true</bnd.resolve.skip>
     </properties>
 
     <dependencies>
@@ -59,21 +61,4 @@
             <version>1.4.0</version>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java b/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
index ba45f83..f2762a0 100644
--- a/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
+++ b/logback/itests/test-helper/src/main/java/org/apache/felix/logback/test/helper/LogTestHelper.java
@@ -27,7 +27,7 @@ import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.Appender;
 import ch.qos.logback.core.read.ListAppender;
-import junit.framework.AssertionFailedError;
+
 
 public class LogTestHelper {
 
@@ -72,7 +72,7 @@ public class LogTestHelper {
                 return lr.equals(record);
             })) {
 
-            throw new AssertionFailedError("Log record not found: " + record);
+            throw new RuntimeException("Log record not found: " + record);
         }
     }
 
diff --git a/logback/logback/pom.xml b/logback/logback/pom.xml
index 736a580..33e66a9 100644
--- a/logback/logback/pom.xml
+++ b/logback/logback/pom.xml
@@ -38,6 +38,16 @@
         <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
     </scm>
 
+    <properties>
+        <bnd.version>6.1.0</bnd.version>
+
+        <animal.sniffer.skip>true</animal.sniffer.skip>
+        <felix.java.version>8</felix.java.version>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -48,12 +58,12 @@
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-            <version>1.2.0</version>
+            <version>1.2.7</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.platform</groupId>
             <artifactId>org.eclipse.osgi</artifactId>
-            <version>3.13.0</version>
+            <version>3.17.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -65,13 +75,13 @@
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>osgi.annotation</artifactId>
-            <version>7.0.0</version>
+            <version>8.0.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jul-to-slf4j</artifactId>
-            <version>1.7.22</version>
+            <version>1.7.32</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
@@ -80,7 +90,7 @@
             <plugin>
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-maven-plugin</artifactId>
-                <version>4.1.0</version>
+                <version>${bnd.version}</version>
                 <configuration>
                     <bnd><![CDATA[
                         Import-Package: !org.eclipse.osgi.internal.hookregistry, *
@@ -98,14 +108,6 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <configuration>
                     <archive>
@@ -114,9 +116,8 @@
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>rat-maven-plugin</artifactId>
-                <version>0.12</version>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
                 <configuration>
                     <excludeSubProjects>false</excludeSubProjects>
                     <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes>
diff --git a/logback/pom.xml b/logback/pom.xml
index 23ebb26..51dd877 100644
--- a/logback/pom.xml
+++ b/logback/pom.xml
@@ -37,81 +37,8 @@
         <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
     </scm>
 
-    <properties>
-        <bnd.version>5.0.1</bnd.version>
-    </properties>
-
     <modules>
         <module>logback</module>
         <module>itests</module>
     </modules>
-
-    <build>
-        <defaultGoal>install</defaultGoal>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>biz.aQute.bnd</groupId>
-                    <artifactId>bnd-maven-plugin</artifactId>
-                    <version>${bnd.version}</version>
-                    <executions>
-                        <execution>
-                            <id>bnd-process</id>
-                            <goals>
-                                <goal>bnd-process</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>biz.aQute.bnd</groupId>
-                    <artifactId>bnd-resolver-maven-plugin</artifactId>
-                    <version>${bnd.version}</version>
-                    <configuration>
-                        <includeOptional>false</includeOptional>
-                    </configuration>
-                    <executions>
-                        <execution>
-                            <id>resolve</id>
-                            <goals>
-                                <goal>resolve</goal>
-                            </goals>
-                            <phase>package</phase>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>biz.aQute.bnd</groupId>
-                    <artifactId>bnd-testing-maven-plugin</artifactId>
-                    <version>${bnd.version}</version>
-                    <executions>
-                        <execution>
-                            <id>testing</id>
-                            <goals>
-                                <goal>testing</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <configuration>
-                        <source>1.8</source>
-                        <target>1.8</target>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>3.0.1</version>
-                    <configuration>
-                        <archive>
-                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                        </archive>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
 </project>

[felix-dev] 05/05: FELIX-6478 add support for passing OSGi Log 1.4 sequence numbers to future logback (1.3) / slf4j (2.0)

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git

commit 03255314a55f3454bf48b477b6ee46f2f2f8365b
Author: Raymond Augé <ra...@liferay.com>
AuthorDate: Sun Nov 28 22:40:31 2021 -0500

    FELIX-6478 add support for passing OSGi Log 1.4 sequence numbers to future logback (1.3) / slf4j (2.0)
    
    Signed-off-by: Raymond Augé <ra...@liferay.com>
---
 logback/itests/immediate-jbl/itest.bndrun          | 12 ++++--
 logback/itests/immediate-jcl/itest.bndrun          | 20 ++++++----
 logback/itests/immediate-jul/itest.bndrun          |  6 +--
 logback/itests/immediate-log4j1/itest.bndrun       | 18 +++++----
 logback/itests/immediate-log4j2/itest.bndrun       | 18 +++++----
 logback/itests/immediate-slf4j/itest.bndrun        | 16 +++++---
 logback/itests/itest-parent/pom.xml                | 24 +++++++++++-
 .../standard-equinox-logservice/itest.bndrun       | 12 +++---
 logback/itests/standard-jbl/itest.bndrun           | 17 ++++++---
 logback/itests/standard-jcl/itest.bndrun           | 14 +++----
 logback/itests/standard-log4j1/itest.bndrun        | 12 +++---
 logback/itests/standard-slf4j/itest.bndrun         | 10 ++---
 logback/logback/pom.xml                            | 18 ++++++++-
 .../apache/felix/logback/internal/Activator.java   | 43 +++++++++++++++++-----
 .../felix/logback/internal/LogbackLogListener.java | 25 +++++++++++++
 15 files changed, 187 insertions(+), 78 deletions(-)

diff --git a/logback/itests/immediate-jbl/itest.bndrun b/logback/itests/immediate-jbl/itest.bndrun
index ccda978..5176812 100644
--- a/logback/itests/immediate-jbl/itest.bndrun
+++ b/logback/itests/immediate-jbl/itest.bndrun
@@ -3,22 +3,26 @@
 -runfw: org.apache.felix.framework
 
 -runrequires:\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log.extension)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.immediate.jbl)'
 
 -runpath: \
     ch.qos.logback.classic;version=latest,\
     ch.qos.logback.core;version=latest,\
-    slf4j.api;version=latest
+    slf4j.api;version=latest,\
+    org.apache.felix.log;version=latest,\
+    org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runproperties.this: \
     org.jboss.logging.provider=slf4j
 
 -runbundles: \
+    org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
     org.apache.felix.logback.itests.immediate.jbl;version='[1.0.0,1.0.1)',\
     org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
     org.jboss.logging.jboss-logging;version='[3.4.2,3.4.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jcl/itest.bndrun b/logback/itests/immediate-jcl/itest.bndrun
index a9a6e8c..3e7aae2 100644
--- a/logback/itests/immediate-jcl/itest.bndrun
+++ b/logback/itests/immediate-jcl/itest.bndrun
@@ -4,20 +4,24 @@
 
 -runrequires:\
     osgi.identity;filter:='(osgi.identity=log4j.over.slf4j)',\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log.extension)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.immediate.jcl)'
 
 -runpath: \
     ch.qos.logback.classic;version=latest,\
     ch.qos.logback.core;version=latest,\
-    slf4j.api;version=latest
+    slf4j.api;version=latest,\
+    org.apache.felix.log;version=latest,\
+    org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runbundles: \
-    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
-    org.apache.commons.logging;version='[1.2.0,1.2.1)',\
-    org.apache.felix.logback.itests.immediate.jcl;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
+	log4j.over.slf4j;version='[1.7.32,1.7.33)',\
+	org.apache.commons.logging;version='[1.2.0,1.2.1)',\
+	org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
+	org.apache.felix.logback.itests.immediate.jcl;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-jul/itest.bndrun b/logback/itests/immediate-jul/itest.bndrun
index 6568bb6..d56c960 100644
--- a/logback/itests/immediate-jul/itest.bndrun
+++ b/logback/itests/immediate-jul/itest.bndrun
@@ -12,9 +12,9 @@
     org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runbundles: \
     org.apache.felix.logback.itests.immediate.jul;version='[1.0.0,1.0.1)',\
diff --git a/logback/itests/immediate-log4j1/itest.bndrun b/logback/itests/immediate-log4j1/itest.bndrun
index 7b60182..90429c8 100644
--- a/logback/itests/immediate-log4j1/itest.bndrun
+++ b/logback/itests/immediate-log4j1/itest.bndrun
@@ -3,19 +3,23 @@
 -runfw: org.apache.felix.framework
 
 -runrequires:\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log.extension)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.immediate.log4j1)'
 
 -runpath: \
     ch.qos.logback.classic;version=latest,\
     ch.qos.logback.core;version=latest,\
-    slf4j.api;version=latest
+    slf4j.api;version=latest,\
+    org.apache.felix.log;version=latest,\
+    org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runbundles: \
-    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
-    org.apache.felix.logback.itests.immediate.log4j1;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
+	log4j.over.slf4j;version='[1.7.32,1.7.33)',\
+	org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
+	org.apache.felix.logback.itests.immediate.log4j1;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-log4j2/itest.bndrun b/logback/itests/immediate-log4j2/itest.bndrun
index a626507..8ed22d9 100644
--- a/logback/itests/immediate-log4j2/itest.bndrun
+++ b/logback/itests/immediate-log4j2/itest.bndrun
@@ -3,6 +3,7 @@
 -runfw: org.apache.felix.framework
 
 -runrequires:\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log.extension)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.immediate.log4j2)'
 
 -runpath: \
@@ -10,14 +11,17 @@
     ch.qos.logback.core;version=latest,\
     org.apache.logging.log4j.api;version=latest,\
     org.apache.logging.log4j.to-slf4j;version=latest,\
-    slf4j.api;version=latest
+    slf4j.api;version=latest,\
+    org.apache.felix.log;version=latest,\
+    org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.apache.logging.log4j;version=${apache.logging.log4j.version},\
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.apache.logging.log4j;version=${version_cleanup;${apache.logging.log4j.version}},\
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runbundles: \
-    org.apache.felix.logback.itests.immediate.log4j2;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
+	org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
+	org.apache.felix.logback.itests.immediate.log4j2;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/immediate-slf4j/itest.bndrun b/logback/itests/immediate-slf4j/itest.bndrun
index b5a8f7e..39995e2 100644
--- a/logback/itests/immediate-slf4j/itest.bndrun
+++ b/logback/itests/immediate-slf4j/itest.bndrun
@@ -3,18 +3,22 @@
 -runfw: org.apache.felix.framework
 
 -runrequires:\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log.extension)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.immediate.slf4j)'
 
 -runpath: \
     ch.qos.logback.classic;version=latest,\
     ch.qos.logback.core;version=latest,\
-    slf4j.api;version=latest
+    slf4j.api;version=latest,\
+    org.apache.felix.log;version=latest,\
+    org.apache.felix.logback;version=latest
 
 -runsystempackages: \
-    org.slf4j;version=${slf4j.api.version},\
-    org.slf4j.helpers;version=${slf4j.api.version},\
-    org.slf4j.spi;version=${slf4j.api.version}
+    org.slf4j;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.helpers;version=${version_cleanup;${slf4j.api.version}},\
+    org.slf4j.spi;version=${version_cleanup;${slf4j.api.version}}
 
 -runbundles: \
-    org.apache.felix.logback.itests.immediate.slf4j;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
+	org.apache.felix.log.extension;version='[1.0.0,1.0.1)',\
+	org.apache.felix.logback.itests.immediate.slf4j;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)'
\ No newline at end of file
diff --git a/logback/itests/itest-parent/pom.xml b/logback/itests/itest-parent/pom.xml
index cd40dc0..15391bd 100644
--- a/logback/itests/itest-parent/pom.xml
+++ b/logback/itests/itest-parent/pom.xml
@@ -46,7 +46,11 @@
 
         <apache.logging.log4j.version>2.14.1</apache.logging.log4j.version>
         <felix.log.version>1.2.5-SNAPSHOT</felix.log.version>
+
         <slf4j.api.version>1.7.32</slf4j.api.version>
+        <!-- <slf4j.api.version>2.0.0-alpha4</slf4j.api.version> -->
+        <logback.version>1.2.7</logback.version>
+        <!-- <logback.version>1.3.0-alpha10</logback.version> -->
 
         <animal.sniffer.skip>true</animal.sniffer.skip>
         <maven.deploy.skip>true</maven.deploy.skip>
@@ -64,7 +68,7 @@
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-            <version>1.2.7</version>
+            <version>${logback.version}</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -99,6 +103,12 @@
             <version>1.0.2</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.aries.spifly</groupId>
+            <artifactId>org.apache.aries.spifly.dynamic.framework.extension</artifactId>
+            <version>1.3.4</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.configadmin</artifactId>
             <version>1.9.22</version>
@@ -112,6 +122,18 @@
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.log</artifactId>
+            <version>${felix.log.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.log.extension</artifactId>
+            <version>1.0.0</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.logback</artifactId>
             <version>1.0.3-SNAPSHOT</version>
             <scope>runtime</scope>
diff --git a/logback/itests/standard-equinox-logservice/itest.bndrun b/logback/itests/standard-equinox-logservice/itest.bndrun
index c90ab1f..ed2cd4c 100644
--- a/logback/itests/standard-equinox-logservice/itest.bndrun
+++ b/logback/itests/standard-equinox-logservice/itest.bndrun
@@ -11,9 +11,9 @@
     eclipse.log.enabled=false
 
 -runbundles: \
-    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
-    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
-    org.apache.felix.logback;version='[1.0.3,1.0.4)',\
-    org.apache.felix.logback.itests.standard.equinox.logservice;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
-    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	org.apache.felix.logback;version='[1.0.3,1.0.4)',\
+	org.apache.felix.logback.itests.standard.equinox.logservice;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-jbl/itest.bndrun b/logback/itests/standard-jbl/itest.bndrun
index 58ae862..d682dee 100644
--- a/logback/itests/standard-jbl/itest.bndrun
+++ b/logback/itests/standard-jbl/itest.bndrun
@@ -4,15 +4,20 @@
 
 -runrequires:\
     osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)',\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.log)',\
+    osgi.identity;filter:='(osgi.identity=org.apache.felix.logback)',\
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.jbl)'
 
 -runproperties: \
     org.jboss.logging.provider=slf4j
 
 -runbundles: \
-    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
-    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
-    org.apache.felix.logback.itests.standard.jbl;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
-    org.jboss.logging.jboss-logging;version='[3.4.2,3.4.3)',\
-    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	org.apache.felix.configadmin;version='[1.9.22,1.9.23)',\
+	org.apache.felix.log;version='[1.2.5,1.2.6)',\
+	org.apache.felix.logback;version='[1.0.3,1.0.4)',\
+	org.apache.felix.logback.itests.standard.jbl;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	org.jboss.logging.jboss-logging;version='[3.4.2,3.4.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-jcl/itest.bndrun b/logback/itests/standard-jcl/itest.bndrun
index 5be9330..eade6f5 100644
--- a/logback/itests/standard-jcl/itest.bndrun
+++ b/logback/itests/standard-jcl/itest.bndrun
@@ -8,10 +8,10 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.jcl)'
 
 -runbundles: \
-    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
-    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
-    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
-    org.apache.commons.logging;version='[1.2.0,1.2.1)',\
-    org.apache.felix.logback.itests.standard.jcl;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
-    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	log4j.over.slf4j;version='[1.7.32,1.7.33)',\
+	org.apache.commons.logging;version='[1.2.0,1.2.1)',\
+	org.apache.felix.logback.itests.standard.jcl;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-log4j1/itest.bndrun b/logback/itests/standard-log4j1/itest.bndrun
index 8a5897c..c946d03 100644
--- a/logback/itests/standard-log4j1/itest.bndrun
+++ b/logback/itests/standard-log4j1/itest.bndrun
@@ -7,9 +7,9 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.log4j1)'
 
 -runbundles: \
-    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
-    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
-    log4j.over.slf4j;version='[1.7.32,1.7.33)',\
-    org.apache.felix.logback.itests.standard.log4j1;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
-    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	log4j.over.slf4j;version='[1.7.32,1.7.33)',\
+	org.apache.felix.logback.itests.standard.log4j1;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/itests/standard-slf4j/itest.bndrun b/logback/itests/standard-slf4j/itest.bndrun
index 42f4c2c..c47dc3d 100644
--- a/logback/itests/standard-slf4j/itest.bndrun
+++ b/logback/itests/standard-slf4j/itest.bndrun
@@ -7,8 +7,8 @@
     osgi.identity;filter:='(osgi.identity=org.apache.felix.logback.itests.standard.slf4j)'
 
 -runbundles: \
-    ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
-    ch.qos.logback.core;version='[1.2.7,1.2.8)',\
-    org.apache.felix.logback.itests.standard.slf4j;version='[1.0.0,1.0.1)',\
-    org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
-    slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
+	ch.qos.logback.classic;version='[1.2.7,1.2.8)',\
+	ch.qos.logback.core;version='[1.2.7,1.2.8)',\
+	org.apache.felix.logback.itests.standard.slf4j;version='[1.0.0,1.0.1)',\
+	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+	slf4j.api;version='[1.7.32,1.7.33)'
\ No newline at end of file
diff --git a/logback/logback/pom.xml b/logback/logback/pom.xml
index 33e66a9..11a2be4 100644
--- a/logback/logback/pom.xml
+++ b/logback/logback/pom.xml
@@ -46,6 +46,11 @@
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <slf4j.api.version>1.7.32</slf4j.api.version>
+        <!-- <slf4j.api.version>2.0.0-alpha4</slf4j.api.version> -->
+        <logback.version>1.2.7</logback.version>
+        <!-- <logback.version>1.3.0-alpha10</logback.version> -->
     </properties>
 
     <dependencies>
@@ -56,9 +61,14 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.api.version}</version>
+        </dependency>
+        <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
-            <version>1.2.7</version>
+            <version>${logback.version}</version>
         </dependency>
         <dependency>
             <groupId>org.eclipse.platform</groupId>
@@ -93,7 +103,11 @@
                 <version>${bnd.version}</version>
                 <configuration>
                     <bnd><![CDATA[
-                        Import-Package: !org.eclipse.osgi.internal.hookregistry, *
+                        Import-Package: \
+                            !org.eclipse.osgi.internal.hookregistry,\
+                            ch.qos.logback.classic.*;version="[1.2,2)",\
+                            org.slf4j.*;version="[1.7,3)",\
+                            *
                         -conditionalpackage: org.slf4j.bridge
                     ]]></bnd>
                 </configuration>
diff --git a/logback/logback/src/main/java/org/apache/felix/logback/internal/Activator.java b/logback/logback/src/main/java/org/apache/felix/logback/internal/Activator.java
index f539f29..d697ed3 100644
--- a/logback/logback/src/main/java/org/apache/felix/logback/internal/Activator.java
+++ b/logback/logback/src/main/java/org/apache/felix/logback/internal/Activator.java
@@ -15,6 +15,7 @@
 package org.apache.felix.logback.internal;
 
 import java.util.AbstractMap.SimpleEntry;
+import java.util.function.Supplier;
 
 import org.osgi.annotation.bundle.Header;
 import org.osgi.framework.BundleActivator;
@@ -45,20 +46,25 @@ public class Activator implements BundleActivator {
             public LRST addingService(
                 ServiceReference<LoggerAdmin> reference) {
 
-                LoggerAdmin loggerAdmin = bundleContext.getService(reference);
+                return tccl(() -> {
+                    LoggerAdmin loggerAdmin = bundleContext.getService(reference);
 
-                LRST lrst = new LRST(bundleContext, loggerAdmin);
+                    LRST lrst = new LRST(bundleContext, loggerAdmin);
 
-                lrst.open();
+                    lrst.open();
 
-                return lrst;
+                    return lrst;
+                });
             }
 
             @Override
             public void removedService(
                 ServiceReference<LoggerAdmin> reference, LRST lrst) {
 
-                lrst.close();
+                tccl(() -> {
+                    lrst.close();
+                    return null;
+                });
             }
         };
 
@@ -70,6 +76,18 @@ public class Activator implements BundleActivator {
         lat.close();
     }
 
+    private static <R> R tccl(Supplier<R> action) {
+        Thread currentThread = Thread.currentThread();
+        ClassLoader original = currentThread.getContextClassLoader();
+        try {
+            currentThread.setContextClassLoader(Activator.class.getClassLoader());
+            return action.get();
+        }
+        finally {
+            currentThread.setContextClassLoader(original);
+        }
+    }
+
     class LRST extends ServiceTracker<LogReaderService, Pair> {
 
         public LRST(BundleContext context, LoggerAdmin loggerAdmin) {
@@ -82,13 +100,15 @@ public class Activator implements BundleActivator {
         public Pair addingService(
             ServiceReference<LogReaderService> reference) {
 
-            LogReaderService logReaderService = context.getService(reference);
+            return tccl(() -> {
+                LogReaderService logReaderService = context.getService(reference);
 
-            LogbackLogListener logbackLogListener = new LogbackLogListener(loggerAdmin);
+                LogbackLogListener logbackLogListener = new LogbackLogListener(loggerAdmin);
 
-            logReaderService.addLogListener(logbackLogListener);
+                logReaderService.addLogListener(logbackLogListener);
 
-            return new Pair(logReaderService, logbackLogListener);
+                return new Pair(logReaderService, logbackLogListener);
+            });
         }
 
         @Override
@@ -96,7 +116,10 @@ public class Activator implements BundleActivator {
             ServiceReference<LogReaderService> reference,
             Pair pair) {
 
-            pair.getKey().removeLogListener(pair.getValue());
+            tccl(() -> {
+                pair.getKey().removeLogListener(pair.getValue());
+                return null;
+            });
         }
 
         private final LoggerAdmin loggerAdmin;
diff --git a/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java b/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
index 179f81e..6e55de1 100644
--- a/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
+++ b/logback/logback/src/main/java/org/apache/felix/logback/internal/LogbackLogListener.java
@@ -14,8 +14,12 @@
 
 package org.apache.felix.logback.internal;
 
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.osgi.framework.Bundle;
@@ -42,6 +46,19 @@ public class LogbackLogListener implements LogListener, LoggerContextListener {
     private static final String EVENTS_SERVICE = "Events.Service";
     private static final String LOG_SERVICE = "LogService";
 
+    private static final MethodHandles.Lookup publicLookup = MethodHandles.publicLookup();
+    private static Optional<MethodHandle> setSequenceNumber = Optional.empty();
+
+    static {
+        MethodType mt = MethodType.methodType(void.class, long.class);
+        try {
+            MethodHandle methodHandle = publicLookup.findVirtual(LoggingEvent.class, "setSquenceNumber", mt);
+
+            setSequenceNumber = Optional.of(methodHandle);
+        } catch (NoSuchMethodException | IllegalAccessException e) {
+        }
+    }
+
     volatile LoggerContext loggerContext;
     volatile Logger rootLogger;
     volatile LoggerContextVO loggerContextVO;
@@ -132,6 +149,14 @@ public class LogbackLogListener implements LogListener, LoggerContextListener {
         le.setThrowableProxy(getThrowableProxy(entry.getException()));
         le.setTimeStamp(entry.getTime());
 
+        setSequenceNumber.ifPresent(mh -> {
+            try {
+                mh.bindTo(le).invokeExact(entry.getSequence());
+            } catch (Throwable e) {
+                e.printStackTrace();
+            }
+        });
+
         rootLogger.callAppenders(le);
     }