Chef :: Log.info完全做了什么

问题描述 投票:11回答:2

我正在尝试将一些日志记录添加到我的Chef配方中。

在其他食谱中,我注意到使用Chef::Log.info,例如:

Chef::Log.info("Connection to database '#{dbname}' on '#{host}' failed")

我想知道这是做什么的。日志记录不会出现在任何地方,不会出现在控制台中,也不会出现在日志文件中。 Chef网站似乎也没有记录为什么以及如何使用它。

为什么要添加这样的信息日志语句?你在哪里可以看到这样的消息?这需要高级功能吗?

我的knife.rb的log_level如下

log_level                :info
log_location             STDOUT
logging chef
2个回答
11
投票

您可以通过设置-l标志来设置厨师运行的日志级别。所以:

chef-client -l info

将导致您的信息日志消息出现。另外,请注意有两种方法可以执行日志消息。一,您显示的方法将导致在厨师运行的资源收集阶段出现消息;另一个,如下所示,将导致在提供程序执行阶段出现日志消息。

log 'my log messsage' do
  level :info
end

0
投票

如果您想在chef-client期间或在bootstrap期间查看信息,则简单的puts语句可以完成工作。

puts ("Connection to database '#{dbname}' on '#{host}' failed")  

因为Chef::log.info只有在你运行chef-client -l info时才有效。

© www.soinside.com 2019 - 2024. All rights reserved.