我想知道在开发 Ansible Collection 时,是否可以将任意日志写入日志文件/控制台?
这是一个随机的
print()
语句来帮助调试,或者是连接最终返回消息的唯一方法?
谢谢
问题:
是否有可能将任意日志写入日志文件/控制台?
答案:
我的问题看起来类似于 Is it possible to print out debugging logs while task is running in Ansible?.
根据文档中引用的答案
Ansible 执行每个模块,通常在远程托管节点上,并收集返回值。 ... Ansible 模块通常返回一个可以注册到变量中的数据结构 ...
所以没有实现这样的直播输出。 Debugging modules during development
有一个选项查看模块中实际发生的情况
但这可能不适合您的所有情况。
问题:
这是一个随机的
语句来帮助调试print()
答案:
根据开发者指南»调试模块»简单调试
由于
语句在模块内部不起作用,如果您只想查看一些特定数据,则引发异常是一个很好的方法。将print()
放在模块某处,正常运行。 Ansible会处理这个异常,将消息传回控制节点,并显示出来raise Exception(some_value)