我正在运行Playbook在Windows目标计算机上安装内部软件。我将在此过程中打印“ msg”日志,以便将其转发给质量检查/合规团队。 但是,我不知道如何使用debug>“ msg”的输出生成日志文件并将其放在Windows主机上。 我知道log_plays可能有用,但是我找不到任何有关如何实际使用该模块的示例。
任何示例代码将不胜感激。
答案 0 :(得分:1)
很遗憾,/var/log/ansible/hosts
is hardcoded还是可以的,否则它的行为应与您期望的一样。您可以通过ansible.cfg
or the $ANSIBLE_STDOUT_CALLBACK
environment variable启用回调:
env ANSIBLE_STDOUT_CALLBACK=log_plays ansible-playbook -i host1,host2 the_file.yml
请注意ad-hoc mode does not load callback plugins,因此您需要明确要求:
env ANSIBLE_LOAD_CALLBACK_PLUGINS=yes ANSIBLE_STDOUT_CALLBACK=log_plays \
ansible -i host1,host2 -m ping '*'
如果/var/log/ansible/hosts
部分困扰您,那么还有$ANSIBLE_LOG_PATH
会导致无法将日志输出复写到文件中,并且在临时模式下可以正常工作:
env ANSIBLE_LOG_PATH=$PWD/my-log ansible -i host1,host2 -m ping '*'
答案 1 :(得分:1)
可能有点晚了,但是您可以在log_path=mylogfile
部分的ansible.cfg
文件中添加defaults
请参阅上面答案中提供的链接。