# debug – Print statements during execution

- Synopsis

- Parameters

- Notes

- See Also

- Examples

- Status

## Synopsis

- This module prints statements during execution and can be useful for debugging variables or expressions without necessarily halting the playbook.

- Useful for debugging together with the ‘when:’ directive.

- This module is also supported for Windows targets.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
msg string | Default: "Hello world!" | The customized message that is printed. If omitted, prints a generic message.
var string |  | A variable name to debug. Mutually exclusive with the `msg` option. Be aware that this option already runs in Jinja2 context and has an implicit `{{ }}` wrapping, so you should not be using Jinja2 delimiters unless you are looking for double interpolation.
verbosity integer | Default: 0 | A number that controls when the debug is run, if you set to 3 it will only run debug when -vvv or above

## Notes

Note

- This module is also supported for Windows targets.

## See Also

See also

assert – Asserts given expressions are true

  The official documentation on the assert module.

fail – Fail with custom message

  The official documentation on the fail module.

## Examples

    # Example that prints the loopback address and gateway for each host
    - debug:
        msg: System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}

    - debug:
        msg: System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}
      when: ansible_default_ipv4.gateway is defined

    # Example that prints return information from the previous task
    - shell: /usr/bin/uptime
      register: result

    - debug:
        var: result
        verbosity: 2

    - name: Display all variables/facts known for a host
      debug:
        var: hostvars[inventory_hostname]
        verbosity: 4

    # Example that prints two lines of messages, but only if there is an environment value set
    - debug:
        msg:
        - "Provisioning based on YOUR_KEY which is: {{ lookup('env', 'YOUR_KEY') }}"
        - "These servers were built using the password of '{{ password_used }}'. Please retain this for later use."

## Status

- This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]

- This module is maintained by the Ansible Core Team. [core]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Dag Wieers (@dagwieers)

- Michael DeHaan

Hint

If you notice any issues in this documentation, you can edit this document to improve it.