Repository: cxf
Updated Branches:
  refs/heads/master 09aacad7d -> 61fb3fc3f


[CXF-7389] Logging ClientErrorExceptions with FINE level, making it pisible to 
customize it


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/61fb3fc3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/61fb3fc3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/61fb3fc3

Branch: refs/heads/master
Commit: 61fb3fc3fcfd2501afd16ff4f473e2ea653077c6
Parents: 09aacad
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Thu Aug 31 13:39:30 2017 +0100
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Thu Aug 31 13:39:30 2017 +0100

----------------------------------------------------------------------
 .../org/apache/cxf/jaxrs/utils/JAXRSUtils.java  | 23 +++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/61fb3fc3/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
----------------------------------------------------------------------
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 ea42944..0ef6565 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
@@ -46,6 +46,7 @@ import java.util.TreeMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import javax.ws.rs.ClientErrorException;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.Produces;
@@ -526,7 +527,8 @@ public final class JAXRSUtils {
                                                    
mediaTypeToString(requestType),
                                                    
convertTypesToString(acceptContentTypes));
         if (!"OPTIONS".equalsIgnoreCase(httpMethod)) {
-            LOG.warning(errorMsg.toString());
+            Level logLevel = getExceptionLogLevel(message, 
ClientErrorException.class);
+            LOG.log(logLevel == null ? Level.FINE : logLevel, 
errorMsg.toString());
         }
         Response response =
             createResponse(getRootResources(message), message, 
errorMsg.toString(), status, methodMatched == 0);
@@ -534,6 +536,25 @@ public final class JAXRSUtils {
 
     }
 
+    
+    
+    private static Level getExceptionLogLevel(Message message, Class<? extends 
WebApplicationException> exClass) {
+        Level logLevel = null;
+        Object logLevelProp = message.get(exClass.getName() + ".log.level");
+        if (logLevelProp != null) {
+            if (logLevelProp instanceof Level) {
+                logLevel = (Level)logLevelProp;
+            } else {
+                try {
+                    logLevel = Level.parse(logLevelProp.toString());
+                } catch (Exception ex) {
+                    // ignore
+                }
+            }
+        }
+        return logLevel;
+    }
+
     private static List<MediaType> intersectSortMediaTypes(List<MediaType> 
acceptTypes,
                                                            List<MediaType> 
producesTypes,
                                                            final boolean 
checkDistance) {

Reply via email to