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.
*/