我有一个PGBouncer Ansible播放 ,显示内置于PGBouncer的统计模块的一些输出。
我的问题是,当Ansible将输出打印到terminal时,会损坏换行符。 而不是看到
---------- | OUTPUT | ----------
我懂了
----------\n| OUTPUT |\n----------
有谁知道如何让Ansible“漂亮的打印”输出?
在Ansible中没有办法做到你想要的东西。 你可以做这个解决方法:
ansible-playbook ... | sed 's/\\n/\n/g'
你可以使用一个callback插件 。 这将重新parsing你的输出,很容易打开和closures。
如果你想要更人性化的输出定义:
ANSIBLE_STDOUT_CALLBACK=debug
这将使得debugging输出模块(之前称为human_log
) 尽pipe不幸的名字不那么冗长,并且更容易被人读取, 但它仍然是可靠的。
如果您遇到此模块不可用的错误,请升级Ansible或在本地添加此模块(如果无法升级),则可以使用超过2.0的版本,甚至1.9。
另一个选项是将stdout_callback = debug
添加到你的ansible.cfg中
在Ansible项目组论坛中find了这种方式:
- name: "Example test" command: ... register: test - name: "Example test stdout" debug: msg: "{{ test.stdout.split('\n') }}" - name: "Example test stderr" debug: msg: "{{ test.stderr.split('\n') }}"
我们基本上通过将它拆分为新行然后打印该列表来将其变成列表。