From d2438b6b6b9dbb5f0f320fbe9e6e30b102006c1d Mon Sep 17 00:00:00 2001 From: James Pic Date: Fri, 5 Aug 2016 19:57:13 +0200 Subject: Debug output callback (#16839) * Added debug output callback * Better import * Comment on line --- lib/ansible/plugins/callback/debug.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/ansible/plugins/callback/debug.py 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 -- cgit v1.2.1