---
schema_version: "1"
id: 70f142ac4e74960902453ed1769e138ca59833072b88ef9e2bd6570197271dc7
title: log
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/latest/dw-core-functions-log.md
canonical_url: https://docs.mulesoft.com/dataweave/latest/dw-core-functions-log
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3ef3876a31737becf9183b891fce7793a4cfde38238ab6a1684d3c073a75f236
description: MuleSoft Documentation Site
release: "2.13"
latest: true
---
---
product: DataWeave
version: 2.13
is-latest-version: true
---

# log

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

## log<T>(prefix: String = "", value: T): T

Without changing the value of the input, `log` returns the input as a system log. So this makes it
very simple to debug your code, because any expression or subexpression can be wrapped with **log**
and the result will be printed out without modifying the result of the expression. The output is
going to be printed in application/dw format.

The prefix parameter is optional and allows to easily find the log output.

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

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>prefix</code></p></td><td><p>An optional string that typically describes the log.</p></td></tr><tr><td><p><code>value</code></p></td><td><p>The value to log.</p></td></tr></tbody></table>

### 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

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

#### Output

`Console Output`

```XML
"WARNING - Houston, we have a problem"
```

`Expression Output`

```XML
"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

```DataWeave
%dw 2.0
output application/json

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

#### Output

`Console output`

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

`Expression Output`

```DataWeave
"Shoki"
```
