【问题标题】:logging from inside dataweave从 dataweave 内部记录
【发布时间】:2016-08-18 14:36:57
【问题描述】:
就像我们使用的一样
<xsl:message>
XSL 转换器内部和
system.out.println
对于 datamapper,我们有 dataweave 的日志记录机制吗?如果不是直接组件,我们是否还有其他替代机制来实现从 dataweave 内部进行日志记录?
【问题讨论】:
标签:
mule
anypoint-studio
dataweave
【解决方案1】:
在mule 3.8中你可以这样做,mule允许登录dataweave
%dw 1.0
%output application/json
---
{
result: log("Logging the array",[1,2,3,4])
}
你可以参考这个here的最新文档
【解决方案3】:
目前调试 Dataweave 的唯一方法和最佳方法是使用下面给出的代码行。
值:log("这是调试值",flowVars.company)
您可以将 flowVars.company 替换为您希望在应用程序运行时发送的任何值。
【解决方案5】:
目前(2021 年),您将使用 DataWeave 2.x,并且 DW 库中有一个方便的日志功能。
你可以这样使用它:
%dw 2.0
output application/dw
var usermessage = "Bob was here"
---
log ("LOGGEDUSERMESSAGE",usermessage)
日志中的输出将如下所示:
INFO 2021-04-20 16:20 .... LoggingService$: LOGGEDUSERMESSAGE - "Bob was here"
然而,在应用程序中,log() 解析为第二个参数的字符串版本。或者换一种说法,它会原封不动地传递第二个参数,但它会记录您在第一个 arg 中提供的标记,并用破折号与第二个 arg 分隔。
请注意,这不是日志级别。它是一个内部标签,应用程序所有者可以使用它来过滤日志条目。