On this page
debug – Print statements during execution
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  msgoption.
        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
        
        added in 2.1
        | 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 no backward incompatible 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.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.8/modules/debug_module.html