如何在厨师食谱中记录错误消息

时间:2018-04-17 13:11:12

标签: chef chef-recipe cookbook

如何在食谱中记录错误消息。

对于EX:我的食谱是

#
# Cookbook:: mkdir
# Recipe:: default
#
# Copyright:: 2018, The Authors, All Rights Reserved.

bash 'extract_module' do
code <<-EOH
mkdir -p /tmp/#{node['main']['directory']}
EOH
Chef::Log.info "Directory Created"
#puts "Directory created"

end

实际创建的日志文件在哪里? - &GT; Chef :: Log.info&#34;目录创建&#34;

如果

我如何控制我的食谱停止
mkdir -p /tmp/#{node['main']['directory']}

实际上失败了?

谢谢

2 个答案:

答案 0 :(得分:0)

资源将失败,bash的收敛具有非零退出代码,因此简单的方法是将set -e添加到您的脚本中。或者改用目录资源。

答案 1 :(得分:0)

我相信这取决于您的操作系统。

对于Windows计算机,您的日志很可能位于目录C:\chef\log

对于linux计算机,它应默认为/etc/chef/log

您应该找到名称为client-run_20181024124200.log的日志文件。 该日志文件将包含您的Chef::Log.info "Directory Created"

我想指出的是,您实际上可以指定要将日志写入的位置。为此,请首先导航到Windows计算机上的C:\chef\client.rb或Linux框上的/etc/chef/client.rb

您现在可以将行log_location STDOUT更改为您自己的目录,如
log_location C:\logs\cheflogs