在 Chef 中记录 Java 异常
Logging Java Exceptions in Chef
我正在使用 chef 调用一个 jar,例如:
execute "publish" do
Chef::Log.info("About to published")
command "java -jar myjar.jar"
Chef::Log.info("Published")
end
现在万一在执行myjar的时候抛出异常,同样在控制台上是看不到的。有什么方法可以在控制台本身中查看相同内容吗?
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
我正在使用 chef 调用一个 jar,例如:
execute "publish" do
Chef::Log.info("About to published")
command "java -jar myjar.jar"
Chef::Log.info("Published")
end
现在万一在执行myjar的时候抛出异常,同样在控制台上是看不到的。有什么方法可以在控制台本身中查看相同内容吗?
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