Apache camel 日志消息中的Exchange正文子字符串

Apache camel 日志消息中的Exchange正文子字符串,apache-camel,Apache Camel,如何将exchange正文子字符串记录为日志组件的消息属性 我试过这些: <log message="SEND RESPONSE TO WEB SERVICE: Headers:[${headers}]\nBody:[${bodyAs(String).substring(0,1000)}]"/> <log message="SEND RESPONSE TO WEB SERVICE: Headers:[${headers}]\nBody:[${body.toString().su

如何将exchange正文子字符串记录为日志组件的消息属性

我试过这些:

<log message="SEND RESPONSE TO WEB SERVICE: Headers:[${headers}]\nBody:[${bodyAs(String).substring(0,1000)}]"/>
<log message="SEND RESPONSE TO WEB SERVICE: Headers:[${headers}]\nBody:[${body.toString().substring(0,1000)}]"/>
但这一切都不管用。第一个变量被IDE Camel插件标记为错误,不允许应用程序启动,第二个变量抛出关于在null处调用toString的异常,尽管body不是


ps body实际上是字符串的实例。

读取,尤其是记录输出的完整自定义部分“不工作”不会得到任何答案。如果body、toString抛出NullException,则body必须为null,而不是字符串。您是否尝试只记录${body}以查看它是否为空?我清楚地理解它。所以我检查了身体的价值。它不可为空。我注意到${body.toString.substring01000}在Camel Java DSL中可以正常工作。是的,我已经读过了。但是,如何在单个日志记录中记录正文子字符串和一些自定义消息呢?请根据前面的建议尝试一些方法,如果不起作用,请在这里报告您的代码。