我在一个团队工作,该团队很久以前决定使用Chef的模板资源来使动态脚本在执行资源块中执行。
我知道这个功能仅用于生成配置文件等,但我必须使用我在这里的功能。
基本上我需要知道如何从模板块生成的Ruby脚本写入Chef::Log
。该脚本与生成该脚本的cookbook不在同一个上下文中,因此我无法在脚本中调用require 'chef/log'
。我也不想只追加chef-run.log,因为这会遇到计时问题。
有没有办法尽可能干净地完成这项工作而不必附加到chef-run.log?
感谢您的时间。
答案 0 :(得分:1)
Chef::Log
是全局的,所以从技术上讲,你可以直接从模板中调用它的方法,但这很奇怪,你可能不应该。而是从配方代码中执行您需要的任何日志记录。如果您需要记录一些值,请在配方中计算它们,然后使用variables
传递它们。