在Chef中记录Java异常

时间:2015-04-27 10:39:27

标签: java chef chef-solo

我正在使用像:

这样的厨师调用一个罐子
execute "publish" do
  Chef::Log.info("About to published")
  command "java -jar myjar.jar"
  Chef::Log.info("Published")      
end

现在,在执行myjar的情况下,它会抛出异常,同样在控制台上不可见。是否有某种方法可以在控制台中查看相同的内容?

1 个答案:

答案 0 :(得分:1)

Chef没有提供任何机制来查看命令节点的输出。解决方法是写入文件&然后从中读取。

output  = "/tmp/output.tmp"


execute "publish" do
  Chef::Log.info("About to published")
  command command "java -jar myjar.jar &> #{output}"
  action :run
  Chef::Log.info("Published")
end

# Outputting logs to console
ruby_block "log" do
    block do
        print "\n"
        File.open(output).each do |line|
            print line
        end
    end
end