Mule 4 Logger组件抛出UnableToInferOutputTypeException异常求助
Mule 4 Logger组件类型推断异常解决方法
你遇到的UnableToInferOutputTypeException异常,根源是Logger的message表达式混用了DataWeave字符串语法和Mule占位符语法,导致DataWeave无法统一推断输出媒体类型。以下是两种可行的解决方法:
方法1:纯DataWeave语法实现(推荐)
使用DataWeave内置的字符串插值${}替代Mule的$(...),同时明确指定输出媒体类型为text/plain,消除类型冲突:
<logger level="INFO" doc:name="Logger" message='#[output text/plain --- "var1 = ${vars.var1}, var2 = ${vars.var2}"]'/>
output text/plain ---强制告诉DataWeave输出纯文本格式,确保变量值被正确插入字符串后输出统一类型,避免多类型冲突。
方法2:Mule原生占位符语法实现
直接在message属性中使用Mule原生的$(...)占位符,无需包裹DataWeave表达式#[...]:
<logger level="INFO" doc:name="Logger" message="var1 = $(vars.var1), var2 = $(vars.var2)"/>
这种写法由Mule直接解析占位符并完成字符串拼接,完全绕开DataWeave的类型推断逻辑,适合简单的变量日志输出场景。
内容的提问来源于stack exchange,提问作者AndrWeisR
相关产品推荐
相关产品推荐

