如果您执行以下操作:
- name: print to stdout command: echo "My log information" register: logdata - debug: msg="{{ logdata.stdout }}"
logdata寄存器variables的内容将与完整的日志一起显示。 我想这些debugging消息被存储在另一个文件中。 这是可能的任何手段?
我想到的另一种select是有一个寄存器variables的数组。 最后使用copy模块将该数组的内容放到一个文件中。 不是最好的select。 如果可以将debug的标准输出redirect到另一个文件,那就太酷了。
你可以使用lineinfile模块?
- lineinfile: create=yes regexp="NONEXISTENTLINE" dest=/tmp/ansible.log line="{{logdata.stdout}}" state=present
我使用regexp =“NONEXISTENTLINE”来允许多次logging相同的消息。 也许你不需要这个。
日志将在每个目标主机上。 拉或不拉。
或者,你可以使用awk来分析输出。