From a5338f2a09043c24f2cae4fc50ac4fc82891eaaf Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Fri, 8 Apr 2016 18:10:28 +0200 Subject: [PATCH] SONAR-7540 Throwable attached to logs is lost on scanner side when using LogOutput API --- .../org/sonar/xoo/lang/MeasureSensor.java | 1 + .../bootstrapper/LogCallbackAppender.java | 10 ++++- .../bootstrapper/LogCallbackAppenderTest.java | 1 + .../batch/mediumtest/log/LogListenerTest.java | 41 ++++++++++++++++++- 4 files changed, 50 insertions(+), 3 deletions(-) diff --git a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/MeasureSensor.java b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/MeasureSensor.java index 9562f300fb1..d03537c8094 100644 --- a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/MeasureSensor.java +++ b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/lang/MeasureSensor.java @@ -77,6 +77,7 @@ public class MeasureSensor implements Sensor { String value = line.substring(metricKey.length() + 1); saveMeasure(context, inputFile, metricKey, value); } catch (Exception e) { + LOG.error("Error processing line " + lineNumber + " of file " + measureFile.getAbsolutePath(), e); throw new IllegalStateException("Error processing line " + lineNumber + " of file " + measureFile.getAbsolutePath(), e); } } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/LogCallbackAppender.java b/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/LogCallbackAppender.java index 183cd378711..f401b227d0d 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/LogCallbackAppender.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/batch/bootstrapper/LogCallbackAppender.java @@ -20,6 +20,7 @@ package org.sonar.batch.bootstrapper; import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.UnsynchronizedAppenderBase; @@ -36,7 +37,14 @@ public class LogCallbackAppender extends UnsynchronizedAppenderBase