You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2020/03/02 15:34:06 UTC

[cxf] 03/05: [CXF-8225] Structure send method of Slf4jEventSender (#644)

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

coheigea pushed a commit to branch 3.3.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 0fb33d83198ee83bb731635d6d614ce560d2c635
Author: bmaehr <gi...@bmaehr.com>
AuthorDate: Mon Mar 2 15:16:03 2020 +0100

    [CXF-8225] Structure send method of Slf4jEventSender (#644)
    
    By extracting code into subroutines it is easier to override parts e.g. to make used Logger dependent of called method
    
    (cherry picked from commit ce329cb7213b71f82dd2eeb635c1d753387c99c9)
---
 .../cxf/ext/logging/slf4j/Slf4jEventSender.java    | 44 +++++++++++++---------
 1 file changed, 26 insertions(+), 18 deletions(-)

diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/slf4j/Slf4jEventSender.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/slf4j/Slf4jEventSender.java
index 40c2031..665e374 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/slf4j/Slf4jEventSender.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/slf4j/Slf4jEventSender.java
@@ -38,26 +38,10 @@ public class Slf4jEventSender implements LogEventSender {
 
     @Override
     public void send(LogEvent event) {
-        String cat = "org.apache.cxf.services." + event.getPortTypeName().getLocalPart() + "." + event.getType();
-        Logger log = LoggerFactory.getLogger(cat);
+        Logger log = getLogger(event);
         Set<String> keys = new HashSet<>();
         try {
-            put(keys, "Type", event.getType().toString());
-            put(keys, "Address", event.getAddress());
-            put(keys, "HttpMethod", event.getHttpMethod());
-            put(keys, "Content-Type", event.getContentType());
-            put(keys, "ResponseCode", event.getResponseCode());
-            put(keys, "ExchangeId", event.getExchangeId());
-            put(keys, "MessageId", event.getMessageId());
-            if (event.getServiceName() != null) {
-                put(keys, "ServiceName", localPart(event.getServiceName()));
-                put(keys, "PortName", localPart(event.getPortName()));
-                put(keys, "PortTypeName", localPart(event.getPortTypeName()));
-            }
-            if (event.getFullContentFile() != null) {
-                put(keys, "FullContentFile", event.getFullContentFile().getAbsolutePath());
-            }
-            put(keys, "Headers", event.getHeaders().toString());
+            fillMDC(event, keys);
             performLogging(log, MarkerFactory.getMarker(event.getServiceName() != null ? "SOAP" : "REST"),
                      getLogMessage(event));
         } finally {
@@ -68,6 +52,30 @@ public class Slf4jEventSender implements LogEventSender {
 
     }
 
+    protected Logger getLogger(final LogEvent event) {
+        final String cat = "org.apache.cxf.services." + event.getPortTypeName().getLocalPart() + "." + event.getType();
+        return LoggerFactory.getLogger(cat);
+    }
+
+    protected void fillMDC(final LogEvent event, final Set<String> keys) {
+        put(keys, "Type", event.getType().toString());
+        put(keys, "Address", event.getAddress());
+        put(keys, "HttpMethod", event.getHttpMethod());
+        put(keys, "Content-Type", event.getContentType());
+        put(keys, "ResponseCode", event.getResponseCode());
+        put(keys, "ExchangeId", event.getExchangeId());
+        put(keys, "MessageId", event.getMessageId());
+        if (event.getServiceName() != null) {
+            put(keys, "ServiceName", localPart(event.getServiceName()));
+            put(keys, "PortName", localPart(event.getPortName()));
+            put(keys, "PortTypeName", localPart(event.getPortTypeName()));
+        }
+        if (event.getFullContentFile() != null) {
+            put(keys, "FullContentFile", event.getFullContentFile().getAbsolutePath());
+        }
+        put(keys, "Headers", event.getHeaders().toString());
+    }
+
     /**
      * Override this to easily change the logging level etc.
      */