在自定义 Ansible 模块中是否有用于调试日志记录的标准/首选方法。

jus*_*les 3 debugging logging trace module ansible

我想将调试日志添加到我的自定义 Ansible 模块,这样当将 -vvv 选项提供给 ansible-playbook 命令时,我会看到日志消息,否则不会。我不希望模块的结果受到此日志记录的影响。换句话说,我不想将日志消息直接写入 stdout 或 stderr。

udo*_*dan 7

模块通常是远程执行的,所以实际上没有办法直接输出任何东西。

您可以在exit_json调用中返回模块中的其他数据。

if module._verbosity >= 3:
    module.exit_json(changed=True, debug="wooha!")
else:
    module.exit_json(changed=True)
Run Code Online (Sandbox Code Playgroud)

module._verbosity 对应于详细级别(-v = 1,-vvv = 3)并且自 Ansible 2.1 起可用。

来源:Ansible Devel-listgithub