Ruby

執行配方名稱

  • August 11, 2017

在 Chef 中,是否可以在執行此配方時獲取配方名稱?

我想在日誌記錄/調試中添加配方名稱。就像是:

Chef:Log.info “#{recipe_name} xxxx”

您實際上可以完全按照您在問題中建議的方式獲得食譜名稱!

Chef::Log.info("I am a message from the #{recipe_name} recipe in the #{cookbook_name} cookbook.")

Opscode 站點上的Recipe DSL頁面中記錄了這種方法和其他方便的方法。

我不確定配方名稱,但您可以使用它__FILE__來記錄目前正在執行的 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

至少對於廚師獨奏。

引用自:https://serverfault.com/questions/478314