在厨师,这个配方运行时可以得到配方名称吗?
我想在日志/debugging中添加配方名称。 就像是:
厨师:Log.info“#{recipe_name} xxxx”
实际上,您可以按照您在问题中提出的方式获得配方名称!
Chef::Log.info("I am a message from the #{recipe_name} recipe in the #{cookbook_name} cookbook.")
这个和其他方便的方法logging在Opscode网站上的Recipe DSL页面。
我不知道配方名称,但是您可以使用__FILE__来logging当前执行的Ruby脚本的文件名:
Chef::Log.info("#{__FILE__}")
显示为
[2013-02-13T20:39:10+00:00] INFO: /tmp/vagrant-chef-1/chef-solo-1/cookbooks/gem/recipes/default.rb
至less对于厨师独奏。
我知道这是一个旧的post,但它仍然是谷歌的最高结果,所以我认为对厨师12更新的答案将是很好的补充。
在厨师12中,我直接在我的食谱中使用这个:
log("Recipe @ #{__FILE__}")
输出如下所示:
* log[Recipe @ /var/chef/cache/cookbooks/crafter-cms-dev/recipes/test.rb] action write