You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2018/01/18 13:31:41 UTC

[cxf] branch master updated: making optional logging a bit more compact in JAXRSUtils

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

sergeyb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 51277e6  making optional logging a bit more compact in JAXRSUtils
51277e6 is described below

commit 51277e6976d24e777189cb1ef99edc61cf4a2a4d
Author: Sergey Beryozkin <sb...@gmail.com>
AuthorDate: Thu Jan 18 13:31:27 2018 +0000

    making optional logging a bit more compact in JAXRSUtils
---
 .../org/apache/cxf/jaxrs/utils/JAXRSUtils.java     | 44 ++++++++--------------
 1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
index 558ca29..7812f76 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
@@ -43,6 +43,7 @@ import java.util.ResourceBundle;
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
+import java.util.function.Supplier;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
@@ -380,7 +381,6 @@ public final class JAXRSUtils {
         boolean throwException,
         boolean recordMatchedUri) {
     //CHECKSTYLE:ON
-        final boolean isFineLevelLoggable = LOG.isLoggable(Level.FINE);
         final boolean getMethod = HttpMethod.GET.equals(httpMethod);
 
         MediaType requestType;
@@ -405,15 +405,10 @@ public final class JAXRSUtils {
             MultivaluedMap<String, String> values = rEntry.getValue();
 
             String path = getCurrentPath(values);
-            if (isFineLevelLoggable) {
-                org.apache.cxf.common.i18n.Message msg =
-                    new org.apache.cxf.common.i18n.Message("START_OPER_MATCH",
-                                                           BUNDLE,
-                                                           resource.getServiceClass().getName());
-                LOG.fine(msg.toString());
-
-            }
-
+            LOG.fine(() -> new org.apache.cxf.common.i18n.Message("START_OPER_MATCH",
+                                                                  BUNDLE,
+                                                                  resource.getServiceClass().getName()).toString());
+            
             for (OperationResourceInfo ori : resource.getMethodDispatcher().getOperationResourceInfos()) {
                 boolean added = false;
 
@@ -451,15 +446,7 @@ public final class JAXRSUtils {
                         }
                     }
                 }
-                if (isFineLevelLoggable) {
-                    if (added) {
-                        LOG.fine(new org.apache.cxf.common.i18n.Message("OPER_SELECTED_POSSIBLY",
-                                  BUNDLE,
-                                  ori.getMethodToInvoke().getName()).toString());
-                    } else {
-                        logNoMatchMessage(ori, path, httpMethod, requestType, acceptContentTypes);
-                    }
-                }
+                LOG.fine(matchMessageLogSupplier(ori, path, httpMethod, requestType, acceptContentTypes, added));
             }
         }
         if (finalPathSubresources != null && pathMatched > 0
@@ -479,11 +466,9 @@ public final class JAXRSUtils {
                          BUNDLE, ori.getClassResourceInfo().getServiceClass().getName(),
                          ori.getMethodToInvoke().getName()).toString());
             }
-            if (isFineLevelLoggable) {
-                LOG.fine(new org.apache.cxf.common.i18n.Message("OPER_SELECTED",
+            LOG.fine(() -> new org.apache.cxf.common.i18n.Message("OPER_SELECTED",
                                BUNDLE, ori.getMethodToInvoke().getName(),
                                ori.getClassResourceInfo().getServiceClass().getName()).toString());
-            }
             if (!ori.isSubResourceLocator()) {
                 MediaType responseMediaType = intersectSortMediaTypes(acceptContentTypes,
                                                                       ori.getProduceTypes(),
@@ -529,7 +514,7 @@ public final class JAXRSUtils {
                                                    convertTypesToString(acceptContentTypes));
         if (!"OPTIONS".equalsIgnoreCase(httpMethod)) {
             Level logLevel = getExceptionLogLevel(message, ClientErrorException.class);
-            LOG.log(logLevel == null ? Level.FINE : logLevel, errorMsg.toString());
+            LOG.log(logLevel == null ? Level.FINE : logLevel, () -> errorMsg.toString());
         }
         Response response =
             createResponse(getRootResources(message), message, errorMsg.toString(), status, methodMatched == 0);
@@ -604,10 +589,13 @@ public final class JAXRSUtils {
             && "OPTIONS".equalsIgnoreCase(httpMethod);
     }
 
-    private static void logNoMatchMessage(OperationResourceInfo ori,
-        String path, String httpMethod, MediaType requestType, List<MediaType> acceptContentTypes) {
-        org.apache.cxf.common.i18n.Message errorMsg =
-            new org.apache.cxf.common.i18n.Message("OPER_NO_MATCH",
+    private static Supplier<String> matchMessageLogSupplier(OperationResourceInfo ori,
+        String path, String httpMethod, MediaType requestType, List<MediaType> acceptContentTypes,
+        boolean added) {
+        org.apache.cxf.common.i18n.Message errorMsg = added 
+            ? new org.apache.cxf.common.i18n.Message("OPER_SELECTED_POSSIBLY",
+                                                   BUNDLE, ori.getMethodToInvoke().getName())
+            : new org.apache.cxf.common.i18n.Message("OPER_NO_MATCH",
                                                    BUNDLE,
                                                    ori.getMethodToInvoke().getName(),
                                                    path,
@@ -618,7 +606,7 @@ public final class JAXRSUtils {
                                                    convertTypesToString(ori.getConsumeTypes()),
                                                    convertTypesToString(acceptContentTypes),
                                                    convertTypesToString(ori.getProduceTypes()));
-        LOG.fine(errorMsg.toString());
+        return () -> errorMsg.toString();
     }
 
     public static Response createResponse(List<ClassResourceInfo> cris, Message msg,

-- 
To stop receiving notification emails like this one, please contact
['"commits@cxf.apache.org" <co...@cxf.apache.org>'].