Chefレシピにログを追加しようとしています。
他のレシピでは、たとえば、Chef::Log.info
の使用に気づきました。
Chef::Log.info("Connection to database '#{dbname}' on '#{Host}' failed")
私はこれが何をするのか疑問に思いました。ロギングは、コンソールやログファイルなど、見た目どこにも表示されません。シェフのウェブサイトも、これを使用する理由と方法を文書化していないようです。
なぜそのような情報ログステートメントを追加したいのですか?そのようなメッセージはどこで見ることができますか?これにはプレミアム機能が必要ですか?
私のknife.rb
には次のようなlog_levelがあります
log_level :info
log_location STDOUT
-l
フラグを設定することで、シェフの実行のログレベルを設定できます。そう:
chef-client -l info
情報ログメッセージが表示されます。また、ログメッセージを実行する方法は2つあることに注意してください。 1つは、表示する方法で、シェフ実行のリソース収集段階でメッセージが表示されます。もう1つは、以下に示すように、プロバイダーの実行フェーズ中にログメッセージが表示されます。
log 'my log messsage' do
level :info
end
Chef-client中またはbootstrap simple putsステートメント中に情報を表示したい場合は、機能します。
puts ("Connection to database '#{dbname}' on '#{Host}' failed")
as Chef::log.info
は、chef-client -l info
を実行した場合にのみ機能します。