我正在尝试将一些日志记录添加到我的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
您可以通过设置-l
标志来设置厨师运行的日志级别。所以:
chef-client -l info
将导致您的信息日志消息出现。另外,请注意有两种方法可以执行日志消息。一,您显示的方法将导致在厨师运行的资源收集阶段出现消息;另一个,如下所示,将导致在提供程序执行阶段出现日志消息。
log 'my log messsage' do
level :info
end
如果您想在chef-client期间或在bootstrap期间查看信息,则简单的puts语句可以完成工作。
puts ("Connection to database '#{dbname}' on '#{host}' failed")
因为Chef::log.info
只有在你运行chef-client -l info
时才有效。