From 93ab9ad92f46bbc488baa5050aff709473b222d6 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 20 Apr 2018 11:57:44 +0100 Subject: [PATCH] REPO-3449 Pickup ch.qos.logback 1.2.3 and enhance logging --- alfresco-docker-alfresco-pdf-renderer/pom.xml | 29 +++++++++++++ alfresco-docker-imagemagick/pom.xml | 29 +++++++++++++ alfresco-docker-libreoffice/pom.xml | 29 +++++++++++++ alfresco-transformer-base/pom.xml | 29 +++++++++++++ .../alfresco/transformer/base/LogEntry.java | 41 +++++++++++-------- .../src/main/resources/application.properties | 6 ++- pom.xml | 1 + 7 files changed, 146 insertions(+), 18 deletions(-) diff --git a/alfresco-docker-alfresco-pdf-renderer/pom.xml b/alfresco-docker-alfresco-pdf-renderer/pom.xml index bc7d442f..dae1ecda 100644 --- a/alfresco-docker-alfresco-pdf-renderer/pom.xml +++ b/alfresco-docker-alfresco-pdf-renderer/pom.xml @@ -24,6 +24,35 @@ ${dependency.spring-boot.version} pom import + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-access + + + ch.qos.logback + logback-classic + + + + + ch.qos.logback + logback-core + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-access + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-classic + ${dependency.ch-qos-logback.version} diff --git a/alfresco-docker-imagemagick/pom.xml b/alfresco-docker-imagemagick/pom.xml index b285fdce..0b05ae50 100644 --- a/alfresco-docker-imagemagick/pom.xml +++ b/alfresco-docker-imagemagick/pom.xml @@ -24,6 +24,35 @@ ${dependency.spring-boot.version} pom import + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-access + + + ch.qos.logback + logback-classic + + + + + ch.qos.logback + logback-core + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-access + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-classic + ${dependency.ch-qos-logback.version} diff --git a/alfresco-docker-libreoffice/pom.xml b/alfresco-docker-libreoffice/pom.xml index 1518eb5c..3e2243d2 100644 --- a/alfresco-docker-libreoffice/pom.xml +++ b/alfresco-docker-libreoffice/pom.xml @@ -24,6 +24,35 @@ ${dependency.spring-boot.version} pom import + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-access + + + ch.qos.logback + logback-classic + + + + + ch.qos.logback + logback-core + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-access + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-classic + ${dependency.ch-qos-logback.version} diff --git a/alfresco-transformer-base/pom.xml b/alfresco-transformer-base/pom.xml index 39eaac6f..0e9ef8b8 100644 --- a/alfresco-transformer-base/pom.xml +++ b/alfresco-transformer-base/pom.xml @@ -20,7 +20,36 @@ ${dependency.spring-boot.version} pom import + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-access + + + ch.qos.logback + logback-classic + + + + ch.qos.logback + logback-core + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-access + ${dependency.ch-qos-logback.version} + + + ch.qos.logback + logback-classic + ${dependency.ch-qos-logback.version} + diff --git a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/base/LogEntry.java b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/base/LogEntry.java index c520ecca..bf849cb6 100644 --- a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/base/LogEntry.java +++ b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/base/LogEntry.java @@ -32,6 +32,8 @@ import java.util.Deque; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.atomic.AtomicInteger; +import static java.lang.Math.max; + /** * Provides setter and getter methods to allow the current Thread to set various log properties and for these * values to be retrieved. The {@link #complete()} method should be called at the end of a request to flush the @@ -65,14 +67,14 @@ public class LogEntry private int statusCode; private long durationStreamIn; - private long durationTransform; - private long durationStreamOut; - private long durationDelay; + private long durationTransform = -1; + private long durationStreamOut = -1; + private long durationDelay = -1; private String source; private long sourceSize; private String target; - private long targetSize; + private long targetSize = -1; private String options; private String message; @@ -165,7 +167,7 @@ public class LogEntry private void addDelayInternal(Long testDelay) { - durationDelay = testDelay - System.currentTimeMillis() + start; + long durationDelay = Math.max(testDelay - System.currentTimeMillis() + start, -1); if (durationDelay > 0) { try @@ -176,17 +178,22 @@ public class LogEntry { Thread.currentThread().interrupt(); } + this.durationDelay = durationDelay; } else { - durationDelay = 0; + this.durationDelay = -1; } } public static void complete() { LogEntry logEntry = currentLogEntry.get(); - logEntry.durationStreamOut = System.currentTimeMillis() - logEntry.start - logEntry.durationStreamIn - logEntry.durationTransform - logEntry.durationDelay; + if (logEntry.statusCode == 200) + { + logEntry.durationStreamOut = System.currentTimeMillis() - logEntry.start - + logEntry.durationStreamIn - max(logEntry.durationTransform, 0) - max(logEntry.durationDelay, 0); + } currentLogEntry.remove(); if (AbstractTransformerController.logger != null && AbstractTransformerController.logger.isDebugEnabled()) @@ -212,11 +219,14 @@ public class LogEntry public String getDuration() { - return time(durationStreamIn + durationTransform + durationDelay + durationStreamOut)+" ("+ - time(durationStreamIn)+' '+ - time(durationTransform)+' '+ - (durationDelay > 0 ? time(durationDelay)+' ' : "")+ - time(durationStreamOut)+")"; + return time(durationStreamIn + max(durationTransform, 0) + max(durationDelay, 0) + max(durationStreamOut, 0))+ + " ("+ + (time(durationStreamIn)+' '+ + time(durationTransform)+' '+ + (durationDelay > 0 + ? time(durationDelay)+' '+(durationStreamOut < 0 ? "-" : time(durationStreamOut)) + : time(durationStreamOut))).trim()+ + ")"; } public String getSource() @@ -251,15 +261,15 @@ public class LogEntry private String time(long ms) { - return size(ms, "1 ms", + return ms == -1 ? "" : size(ms, "1ms", new String[] { "ms", "s", "min", "hr" }, new long[] { 1000, 60*1000, 60*60*1000, Long.MAX_VALUE}); } private String size(long size) { - return size(size, "1 byte", - new String[] { "bytes", "KB", "MB", "GB", "TB" }, + return size == -1 ? "" : size(size, "1 byte", + new String[] { "bytes", " KB", " MB", " GB", " TB" }, new long[] { 1024, 1024*1024, 1024*1024*1024, 1024*1024*1024*1024, Long.MAX_VALUE }); } @@ -294,7 +304,6 @@ public class LogEntry sb.append("."); sb.append(decimalPoint); } - sb.append(' '); sb.append(unit); return sb.toString(); diff --git a/alfresco-transformer-base/src/main/resources/application.properties b/alfresco-transformer-base/src/main/resources/application.properties index 09fd942f..995b06b0 100644 --- a/alfresco-transformer-base/src/main/resources/application.properties +++ b/alfresco-transformer-base/src/main/resources/application.properties @@ -3,5 +3,7 @@ spring.http.multipart.max-request-size=8192MB server.port = 8090 #logging.level.org.alfresco.util.exec.RuntimeExec=debug -#logging.level.org.alfresco.transformer.LibreOfficeController=debug -#logging.level.org.alfresco.transformer.JodConverterSharedInstance=debug \ No newline at end of file +logging.level.org.alfresco.transformer.LibreOfficeController=debug +logging.level.org.alfresco.transformer.JodConverterSharedInstance=debug +logging.level.org.alfresco.transformer.AlfrescoPdfRendererController=debug +logging.level.org.alfresco.transformer.ImageMagickController=debug \ No newline at end of file diff --git a/pom.xml b/pom.xml index b4204c59..96c651a1 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,7 @@ 1.5.10.RELEASE 7.2 3.0.1.1 + 1.2.3 ${project.version}