From 4043b5cdb3152f09727b3fb0a5b43679cdea7406 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 23 Mar 2005 00:54:05 +0000 Subject: Fixed the dispatch.fcgi use of a logger git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@981 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/CHANGELOG | 5 +++++ railties/dispatches/dispatch.fcgi | 17 +++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'railties') diff --git a/railties/CHANGELOG b/railties/CHANGELOG index b6bce12607..ccf70bdd32 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,3 +1,8 @@ +*SVN* + +* Fixed the dispatch.fcgi use of a logger + + *0.11.0* (22th March, 2005) * Removed SCRIPT_NAME from the WEBrick environment to prevent conflicts with PATH_INFO #896 [Nicholas Seckar] diff --git a/railties/dispatches/dispatch.fcgi b/railties/dispatches/dispatch.fcgi index ffe5b57812..683a61f4c9 100755 --- a/railties/dispatches/dispatch.fcgi +++ b/railties/dispatches/dispatch.fcgi @@ -1,12 +1,11 @@ #!/usr/local/bin/ruby -FASTCGI_CRASH_LOG_PATH = "#{RAILS_ROOT}/log/fastcgi.crash.log" - -def dispatcher_error(e, msg = "") - error_message = "[#{Time.now}] Dispatcher failed to catch: #{e} (#{e.class})\n #{e.backtrace.join("\n ")}\n#{msg}" - Logger.new(FASTCGI_CRASH_LOG_PATH).fatal(error_message) +def dispatcher_error(path,e,msg="") + error_message = + "[#{Time.now}] Dispatcher failed to catch: #{e} (#{e.class})\n #{e.backtrace.join("\n ")}\n#{msg}" + Logger.new(path).fatal(error_message) rescue Object => log_error - STDERR << "Couldn't write to #{FASTCGI_CRASH_LOG_PATH} (#{e} [#{e.class}])\n" << error_message + STDERR << "Couldn't write to #{path} (#{e} [#{e.class}])\n" << error_message end begin @@ -14,13 +13,15 @@ begin require 'dispatcher' require 'fcgi' + log_file_path = "#{RAILS_ROOT}/log/fastcgi.crash.log" + FCGI.each_cgi do |cgi| begin Dispatcher.dispatch(cgi) rescue Object => rails_error - dispatcher_error(rails_error) + dispatcher_error(log_file_path, rails_error) end end rescue Object => fcgi_error - dispatcher_error(fcgi_error, "FCGI process #{$$} killed by this error\n") + dispatcher_error(log_file_path, fcgi_error, "FCGI process #{$$} killed by this error\n") end \ No newline at end of file -- cgit v1.2.3