You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2016/09/10 14:41:33 UTC
[25/37] cxf git commit: [CXF-7044] Logging as usual in case of the
pretty-print exceptions
[CXF-7044] Logging as usual in case of the pretty-print exceptions
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d5373a3e
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d5373a3e
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d5373a3e
Branch: refs/heads/master-jaxrs-2.1
Commit: d5373a3e3d2219ce07526cfb92ff954b3382727e
Parents: adcfa17
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Fri Sep 9 16:55:44 2016 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Fri Sep 9 16:55:44 2016 +0100
----------------------------------------------------------------------
.../interceptor/AbstractLoggingInterceptor.java | 49 ++++++++++++--------
1 file changed, 29 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/d5373a3e/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java b/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
index 73912b7..ae994c4 100644
--- a/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
+++ b/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
@@ -207,32 +207,41 @@ public abstract class AbstractLoggingInterceptor extends AbstractPhaseIntercepto
StringWriter stringWriter,
String contentType)
throws Exception {
- // Just transform the XML message when the cos has content
if (isPrettyLogging()
&& contentType != null
&& contentType.indexOf("xml") >= 0
&& stringWriter.getBuffer().length() > 0) {
-
- StringWriter swriter = new StringWriter();
- XMLStreamWriter xwriter = StaxUtils.createXMLStreamWriter(swriter);
- xwriter = new PrettyPrintXMLStreamWriter(xwriter, 2);
- StaxUtils.copy(new StreamSource(new StringReader(stringWriter.getBuffer().toString())), xwriter);
- xwriter.close();
-
- String result = swriter.toString();
- if (result.length() < limit || limit == -1) {
- builder.append(swriter.toString());
- } else {
- builder.append(swriter.toString().substring(0, limit));
+ try {
+ writePrettyPayload(builder, stringWriter, contentType);
+ return;
+ } catch (Exception ex) {
+ // log it as is
}
-
+ }
+ StringBuffer buffer = stringWriter.getBuffer();
+ if (buffer.length() > limit) {
+ builder.append(buffer.subSequence(0, limit));
} else {
- StringBuffer buffer = stringWriter.getBuffer();
- if (buffer.length() > limit) {
- builder.append(buffer.subSequence(0, limit));
- } else {
- builder.append(buffer);
- }
+ builder.append(buffer);
+ }
+ }
+ protected void writePrettyPayload(StringBuilder builder,
+ StringWriter stringWriter,
+ String contentType)
+ throws Exception {
+ // Just transform the XML message when the cos has content
+
+ StringWriter swriter = new StringWriter();
+ XMLStreamWriter xwriter = StaxUtils.createXMLStreamWriter(swriter);
+ xwriter = new PrettyPrintXMLStreamWriter(xwriter, 2);
+ StaxUtils.copy(new StreamSource(new StringReader(stringWriter.getBuffer().toString())), xwriter);
+ xwriter.close();
+
+ String result = swriter.toString();
+ if (result.length() < limit || limit == -1) {
+ builder.append(swriter.toString());
+ } else {
+ builder.append(swriter.toString().substring(0, limit));
}
}