log

log(String, T): T

Without changing the value of the input, log returns the input as a system log.

Use this function to help with debugging DataWeave scripts. A Mule app outputs the results through the DefaultLoggingService, which you can see in the Studio console.

Parameters

Name Description

prefix

An optional string that typically describes the log.

value

The value to log.

Example

This example logs the specified message. Note that the DefaultLoggingService in a Mule app that is running in Studio returns the message WARNING - "Houston, we have a problem," adding the dash - between the prefix and value. The Logger component’s LoggerMessageProcessor returns the input string "Houston, we have a problem.", without the WARNING prefix.

Source

%dw 2.0
output application/json
---
log("WARNING", "Houston, we have a problem.")

Console Output

WARNING - "Houston, we have a problem."

Expression Output

"Houston, we have a problem."

Example

This example shows how to log the result of expression myUser.user without modifying the original expression myUser.user.friend.name.

Source

%dw 2.0
output application/json

var myUser = {user: {friend: {name: "Shoki"}, id: 1, name: "Tomo"}, accountId: "leansh" }
---
log("User", myUser.user).friend.name

Console Output

 User - {
   friend: {
     name: "Shoki"
   },
   id: 1,
   name: "Tomo"
 }

Expression Output

"Shoki"

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub