From 0f2048e345c8bcba802579520ccfb86afc843dc2 Mon Sep 17 00:00:00 2001 From: David Dollar Date: Mon, 17 May 2010 13:11:10 -0400 Subject: [PATCH] better logging --- .gitignore | 1 + example/die_alot | 1 + example/error | 1 + example/never_die | 2 ++ lib/foreman/engine.rb | 3 ++- lib/foreman/export/upstart.rb | 2 +- 6 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66c3543 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +example/log/* diff --git a/example/die_alot b/example/die_alot index 2fdb4d3..f1229f5 100755 --- a/example/die_alot +++ b/example/die_alot @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +puts "sleeping for 2s then dying" sleep 2 exit 0 diff --git a/example/error b/example/error index 30a7c2d..d3bae14 100755 --- a/example/error +++ b/example/error @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +puts "will error in 10s" sleep 10 raise "Dying" diff --git a/example/never_die b/example/never_die index 25d3848..3f6b199 100755 --- a/example/never_die +++ b/example/never_die @@ -1,5 +1,7 @@ #!/usr/bin/env ruby while true + puts "tick" + $stdout.flush sleep 5 end diff --git a/lib/foreman/engine.rb b/lib/foreman/engine.rb index 6abe6f6..ca26f5f 100644 --- a/lib/foreman/engine.rb +++ b/lib/foreman/engine.rb @@ -47,7 +47,8 @@ private ###################################################################### proctitle "ruby: foreman #{process.name}" Dir.chdir directory do - system process.command + FileUtils.mkdir_p "log" + system "#{process.command} >>log/#{process.name}.log 2>&1" exit $?.exitstatus || 255 end end diff --git a/lib/foreman/export/upstart.rb b/lib/foreman/export/upstart.rb index 89d02be..24a79ca 100644 --- a/lib/foreman/export/upstart.rb +++ b/lib/foreman/export/upstart.rb @@ -47,7 +47,7 @@ stop on stopping #{name} respawn chdir #{engine.directory} -exec #{process.command} 2>&1 > /var/log/#{name}/#{process.name}.log +exec #{process.command} >>/var/log/#{name}/#{process.name}.log 2>&1 UPSTART_CHILD end end