This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.tracer-1.0.2 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-tracer.git
commit 7e4445dac1ed303161c443f714640f286d698a43 Author: Chetan Mehrotra <[email protected]> AuthorDate: Sat Oct 8 10:07:21 2016 +0000 SLING-6119 - Log parameters not captured correctly in few cases git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tracer@1763884 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/sling/tracer/internal/JSONRecording.java | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java b/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java index 2941caf..1a7b654 100644 --- a/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java +++ b/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java @@ -241,6 +241,7 @@ class JSONRecording implements Recording, Comparable<JSONRecording> { final Level level; final String logger; final FormattingTuple tuple; + final String[] params; final long timestamp = System.currentTimeMillis(); final List<StackTraceElement> caller; @@ -248,6 +249,7 @@ class JSONRecording implements Recording, Comparable<JSONRecording> { this.level = level != null ? level : Level.INFO; this.logger = logger; this.tuple = tuple; + this.params = getParams(tuple); this.caller = getCallerData(tc); } @@ -258,6 +260,20 @@ class JSONRecording implements Recording, Comparable<JSONRecording> { return Collections.emptyList(); } + private static String[] getParams(FormattingTuple tuple) { + //Eagerly convert arg to string so that if arg is bound by context like + //session then it gets evaluated when that is valid i.e. at time of call itself + Object[] params = tuple.getArgArray(); + String[] strParams = null; + if (params != null){ + strParams = new String[params.length]; + for (int i = 0; i < params.length; i++) { + strParams[i] = toString(params[i]); + } + } + return strParams; + } + private static String toString(Object o) { //Make use of Slf4j null safe toString support! return MessageFormatter.format("{}", o).getMessage(); @@ -276,12 +292,11 @@ class JSONRecording implements Recording, Comparable<JSONRecording> { jw.key("logger").value(logger); jw.key("message").value(tuple.getMessage()); - Object[] params = tuple.getArgArray(); if (params != null) { jw.key("params"); jw.array(); - for (Object o : params) { - jw.value(toString(o)); + for (String o : params) { + jw.value(o); } jw.endArray(); } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
