Ansible 作业输出到 json 文件,同时保持默认标准输出
Ansible job output to json file, while keeping default stdout
我需要 运行 ansible-playbook 并将 运行 结果输出到 json 文件,并且 还 保持正常的标准输出日志。
换句话说,将人类可读的日志流保留在标准输出上,但将机器可读的输出创建到文件中。
我可以通过设置
让ansible-playbook输出一个json日志
[defaults]
log_path = /tmp/log.txt
stdout_callback = json
问题是这覆盖了 stdout 设置,因此它不再将“正常”作业输出文本输出到 stdout。
相反,它会在 运行 完成后转储 json 文本,并将 json 输出到标准输出。
我正在寻找的是某种 log_callback = json
或 log_callback = yaml
类型设置,并保留 stdout_callback
默认值。但是,在查看可用选项时,似乎没有什么合适的。
与ansible的自动化交互有专门的库,ansible-runner
我需要 运行 ansible-playbook 并将 运行 结果输出到 json 文件,并且 还 保持正常的标准输出日志。
换句话说,将人类可读的日志流保留在标准输出上,但将机器可读的输出创建到文件中。
我可以通过设置
让ansible-playbook输出一个json日志[defaults]
log_path = /tmp/log.txt
stdout_callback = json
问题是这覆盖了 stdout 设置,因此它不再将“正常”作业输出文本输出到 stdout。 相反,它会在 运行 完成后转储 json 文本,并将 json 输出到标准输出。
我正在寻找的是某种 log_callback = json
或 log_callback = yaml
类型设置,并保留 stdout_callback
默认值。但是,在查看可用选项时,似乎没有什么合适的。
与ansible的自动化交互有专门的库,ansible-runner