diff --git a/railties/CHANGELOG b/railties/CHANGELOG index e3eea53352a7e56676463a353dcc045ece25f0ce..a9cee6563899beb304d418a40d0ffed1c701837f 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Run initialize_logger in script/lighttpd to ensure the log file exists before tailing it. [Sam Stephenson] + * Make load_fixtures include csv fixtures. #3053. [me@mdaines.com] * Fix freeze_gems so that the latest rails version is dumped by default. [Nicholas Seckar] diff --git a/railties/lib/commands/servers/lighttpd.rb b/railties/lib/commands/servers/lighttpd.rb index 16baf1e367591dcf9b612ee1f8a638a1feed826e..8f67721a04c27e03236d79bcf1f7eeb0792a0983 100644 --- a/railties/lib/commands/servers/lighttpd.rb +++ b/railties/lib/commands/servers/lighttpd.rb @@ -8,6 +8,8 @@ exit 1 end +require 'initializer' +configuration = Rails::Initializer.run(:initialize_logger).configuration config_file = "#{RAILS_ROOT}/config/lighttpd.conf" @@ -21,8 +23,8 @@ config = IO.read(config_file) default_port, default_ip = 3000, '0.0.0.0' -port = config.scan(/^server.port\s*=\s*(\d+)/).first rescue default_port -ip = config.scan(/^server.bind\s*=\s*"([^"]+)"/).first rescue default_ip +port = config.scan(/^\s*server.port\s*=\s*(\d+)/).first rescue default_port +ip = config.scan(/^\s*server.bind\s*=\s*"([^"]+)"/).first rescue default_ip puts "=> Rails application started on http://#{ip || default_ip}:#{port || default_port}" tail_thread = nil @@ -35,11 +37,10 @@ puts "=> Ctrl-C to shutdown server (see config/lighttpd.conf for options)" detach = false - log_path = "#{RAILS_ROOT}/log/#{RAILS_ENV}.log" - cursor = File.size(log_path) + cursor = File.size(configuration.log_path) last_checked = Time.now tail_thread = Thread.new do - File.open(log_path, 'r') do |f| + File.open(configuration.log_path, 'r') do |f| loop do f.seek cursor if f.mtime > last_checked diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb index 6287f0ddc1d50de8548c98c34a4efcad4e230365..d1fe8908bc7611b587c8a41715a0807c3928f626 100644 --- a/railties/lib/initializer.rb +++ b/railties/lib/initializer.rb @@ -38,7 +38,9 @@ class Initializer # incuring the overhead of completely loading the entire environment. def self.run(command = :process, configuration = Configuration.new) yield configuration if block_given? - new(configuration).send(command) + initializer = new configuration + initializer.send(command) + initializer end # Create a new Initializer instance that references the given Configuration