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

chetanm pushed a commit to branch SLING-3049
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-log.git


The following commit(s) were added to refs/heads/SLING-3049 by this push:
     new 19e888e  SLING-3049 - Make Logback Stacktrace Packaging data support 
OSGi aware
19e888e is described below

commit 19e888e652402cd06d959ca58d78922e21c74e66
Author: Chetan Mehrotra <[email protected]>
AuthorDate: Tue Oct 31 17:33:04 2017 +0530

    SLING-3049 - Make Logback Stacktrace Packaging data support OSGi aware
    
    Support for including BSN also along with version
---
 .../internal/stacktrace/OSGiAwareExceptionHandling.java    |  6 +++---
 .../logback/internal/stacktrace/PackageInfoCollector.java  | 14 +++++++++-----
 .../commons/log/logback/integration/ITPackagingData.java   |  5 +++--
 .../log/logback/integration/PackagingDataTestUtil.java     |  3 ++-
 4 files changed, 17 insertions(+), 11 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/OSGiAwareExceptionHandling.java
 
b/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/OSGiAwareExceptionHandling.java
index 45c8aeb..165d65a 100644
--- 
a/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/OSGiAwareExceptionHandling.java
+++ 
b/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/OSGiAwareExceptionHandling.java
@@ -51,9 +51,9 @@ public class OSGiAwareExceptionHandling extends 
EnsureExceptionHandling {
         @Override
         protected void extraData(StringBuilder builder, StackTraceElementProxy 
step) {
             if (step != null) {
-                String version = 
collector.getVersion(step.getStackTraceElement().getClassName());
-                if (version != null) {
-                    builder.append(" [").append(version).append(']');
+                String bundleInfo = 
collector.getBundleInfo(step.getStackTraceElement().getClassName());
+                if (bundleInfo != null) {
+                    builder.append(" [").append(bundleInfo).append(']');
                 }
             }
         }
diff --git 
a/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/PackageInfoCollector.java
 
b/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/PackageInfoCollector.java
index 36cde17..e80eed1 100644
--- 
a/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/PackageInfoCollector.java
+++ 
b/src/main/java/org/apache/sling/commons/log/logback/internal/stacktrace/PackageInfoCollector.java
@@ -26,7 +26,7 @@ import org.osgi.framework.hooks.weaving.WeavingHook;
 import org.osgi.framework.hooks.weaving.WovenClass;
 
 public class PackageInfoCollector implements WeavingHook{
-    private final Map<String, String> pkgVersionMapping = new 
ConcurrentHashMap<>();
+    private final Map<String, String> pkgInfoMapping = new 
ConcurrentHashMap<>();
 
     @Override
     public void weave(WovenClass wovenClass) {
@@ -34,19 +34,23 @@ public class PackageInfoCollector implements WeavingHook{
     }
 
     public int size() {
-        return pkgVersionMapping.size();
+        return pkgInfoMapping.size();
     }
 
     void add(Bundle bundle, String className) {
-        pkgVersionMapping.put(getPackageName(className), 
bundle.getVersion().toString());
+        pkgInfoMapping.put(getPackageName(className), getInfo(bundle));
     }
 
-    String getVersion(String className) {
+    String getBundleInfo(String className) {
         if (className == null) {
             return null;
         }
         String packageName = getPackageName(className);
-        return pkgVersionMapping.get(packageName);
+        return pkgInfoMapping.get(packageName);
+    }
+
+    static String getInfo(Bundle bundle) {
+        return bundle.getSymbolicName() + ":" + bundle.getVersion();
     }
 
     static String getPackageName(String className) {
diff --git 
a/src/test/java/org/apache/sling/commons/log/logback/integration/ITPackagingData.java
 
b/src/test/java/org/apache/sling/commons/log/logback/integration/ITPackagingData.java
index adc44ca..e30e976 100644
--- 
a/src/test/java/org/apache/sling/commons/log/logback/integration/ITPackagingData.java
+++ 
b/src/test/java/org/apache/sling/commons/log/logback/integration/ITPackagingData.java
@@ -51,8 +51,9 @@ import org.osgi.util.tracker.ServiceTracker;
 import org.slf4j.LoggerFactory;
 
 import static 
org.apache.sling.commons.log.logback.integration.ITConfigAdminSupport.PID;
+import static 
org.apache.sling.commons.log.logback.integration.PackagingDataTestUtil.TEST_BUNDLE_NAME;
+import static 
org.apache.sling.commons.log.logback.integration.PackagingDataTestUtil.TEST_BUNDLE_VERSION;
 import static 
org.apache.sling.commons.log.logback.internal.LogConfigManager.FACTORY_PID_CONFIGS;
-import static 
org.apache.sling.commons.log.logback.internal.LogConfigManager.LOGBACK_FILE;
 import static 
org.apache.sling.commons.log.logback.internal.LogConfigManager.LOG_FILE;
 import static 
org.apache.sling.commons.log.logback.internal.LogConfigManager.LOG_LEVEL;
 import static 
org.apache.sling.commons.log.logback.internal.LogConfigManager.LOG_LOGGERS;
@@ -171,7 +172,7 @@ public class ITPackagingData extends LogTestBase {
             }
         }
         assertNotNull(testLine);
-        assertThat(testLine, 
containsString("["+PackagingDataTestUtil.TEST_BUNDLE_VERSION+"]"));
+        assertThat(testLine, containsString("["+ 
TEST_BUNDLE_NAME+":"+TEST_BUNDLE_VERSION+"]"));
 
         //Check that default logback support is still disabled
         assertFalse(((LoggerContext) 
LoggerFactory.getILoggerFactory()).isPackagingDataEnabled());
diff --git 
a/src/test/java/org/apache/sling/commons/log/logback/integration/PackagingDataTestUtil.java
 
b/src/test/java/org/apache/sling/commons/log/logback/integration/PackagingDataTestUtil.java
index db5c5ed..05de164 100644
--- 
a/src/test/java/org/apache/sling/commons/log/logback/integration/PackagingDataTestUtil.java
+++ 
b/src/test/java/org/apache/sling/commons/log/logback/integration/PackagingDataTestUtil.java
@@ -36,11 +36,12 @@ import static 
org.ops4j.pax.tinybundles.core.TinyBundles.withBnd;
 public class PackagingDataTestUtil {
 
     public static final String TEST_BUNDLE_VERSION = "0.0.7";
+    public static final String TEST_BUNDLE_NAME = "packagedatatest";
 
     public static InputStream createTestBundle() {
         return bundle()
                 .set(Constants.BUNDLE_ACTIVATOR, 
PackageDataActivator.class.getName())
-                .set(Constants.BUNDLE_SYMBOLICNAME, "packagedatatest")
+                .set(Constants.BUNDLE_SYMBOLICNAME, TEST_BUNDLE_NAME)
                 .set(Constants.BUNDLE_VERSION, TEST_BUNDLE_VERSION)
                 .add(PackageDataActivator.class, InnerClassStrategy.NONE)
                 .add(TestRunnable.class, InnerClassStrategy.NONE)

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to