diff options
author | James Pic <jpic@users.noreply.github.com> | 2016-08-05 19:57:13 +0200 |
---|---|---|
committer | Brian Coca <bcoca@users.noreply.github.com> | 2016-08-05 13:57:13 -0400 |
commit | d2438b6b6b9dbb5f0f320fbe9e6e30b102006c1d (patch) | |
tree | b100327afeb787b7fe90d834b4a6e95eeb3164b3 | |
parent | 408664b5322be3b4075052fb5ef4f397b34082f4 (diff) | |
download | ansible-d2438b6b6b9dbb5f0f320fbe9e6e30b102006c1d.tar.gz |
Debug output callback (#16839)
* Added debug output callback
* Better import
* Comment on line
-rw-r--r-- | lib/ansible/plugins/callback/debug.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/ansible/plugins/callback/debug.py b/lib/ansible/plugins/callback/debug.py new file mode 100644 index 0000000000..b859610fd8 --- /dev/null +++ b/lib/ansible/plugins/callback/debug.py @@ -0,0 +1,35 @@ +from ansible.plugins.callback.default import CallbackModule as CallbackModule_default + + +class CallbackModule(CallbackModule_default): # pylint: disable=too-few-public-methods,no-init + ''' + Override for the default callback module. + + Render std err/out outside of the rest of the result which it prints with + indentation. + ''' + CALLBACK_VERSION = 2.0 + CALLBACK_TYPE = 'stdout' + CALLBACK_NAME = 'debug' + + def _dump_results(self, result): + '''Return the text to output for a result.''' + + # Enable JSON identation + result['_ansible_verbose_always'] = True + + save = {} + for key in ['stdout', 'stdout_lines', 'stderr', 'stderr_lines', 'msg']: + if key in result: + save[key] = result.pop(key) + + output = CallbackModule_default._dump_results(self, result) + + for key in ['stdout', 'stderr', 'msg']: + if key in save and save[key]: + output += '\n\n%s:\n\n%s\n' % (key.upper(), save[key]) + + for key, value in save.items(): + result[key] = value + + return output |