我想将调试日志记录添加到我的自定义Ansible模块中,这样当向ansible-playbook命令提供-vvv选项时,我会看到日志消息,否则不会。我不希望此日志记录影响模块的结果。换句话说,我不想直接将日志消息写入stdout或stderr。
答案 0 :(得分:3)
模块通常是远程执行的,因此实际上无法直接输出任何内容。
您可以在exit_json
来电中返回模块中的其他数据。
if module._verbosity >= 3:
module.exit_json(changed=True, debug="wooha!")
else:
module.exit_json(changed=True)
module._verbosity
对应于详细级别(-v = 1,-vvv = 3),自Ansible 2.1起可用。
答案 1 :(得分:1)
Ansible模块很难调试,因为:
union
来调试)因此,您可以通过以下方式调试Ansible模块:
pdb
模块来实现。