From 342c2bb533535e4e430e900ea07d845520e2eab7 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 26 Jul 2022 17:35:49 +0200 Subject: [PATCH] GH-901 add more logging around failed conversion of input messages Resolves #901 --- .../function/context/catalog/SimpleFunctionRegistry.java | 3 +++ .../context/config/SmartCompositeMessageConverter.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index f6107915d..67e3cb8c6 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -1325,6 +1325,9 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect ? SimpleFunctionRegistry.this.messageConverter.fromMessage(message, rawType, itemType) : SimpleFunctionRegistry.this.messageConverter.fromMessage(message, rawType); + if (convertedInput != null && !rawType.isAssignableFrom(convertedInput.getClass())) { + logger.warn("Failed to convert input to " + rawType + ". Will attempt to invoke function with raw type"); + } if (FunctionTypeUtils.isMessage(type)) { if (convertedInput == null) { diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/SmartCompositeMessageConverter.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/SmartCompositeMessageConverter.java index da17b2641..0c32f8c9d 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/SmartCompositeMessageConverter.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/SmartCompositeMessageConverter.java @@ -66,8 +66,8 @@ public class SmartCompositeMessageConverter extends CompositeMessageConverter { } } catch (Exception e) { - if (logger.isDebugEnabled()) { - logger.debug("Failure during type conversion by " + converter + ". Will try the next converter.", e); + if (logger.isWarnEnabled()) { + logger.warn("Failure during type conversion by " + converter + ". Will try the next converter.", e); } } }