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 <[email protected]> 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. */
