Better log rotation for Passenger

Touch the tmp/restart.txt file, when
rotatingthe log files. Otherwise, multiple
workers may try to rotate the log files
at the same time, with sub-optimal results.

Also, an aesthetic tweak to the url_generator.
This commit is contained in:
Jacques Distler 2009-10-28 00:03:25 -05:00
parent 883d82992c
commit c99ca26a8d
3 changed files with 22 additions and 1 deletions

20
lib/logging_stuff.rb Normal file
View file

@ -0,0 +1,20 @@
class Logger
class LogDevice
private
def shift_log_age
#For Passenger, restart the server when rotating log files.
FileUtils.touch Rails.root.join("tmp", "restart.txt") if defined?(PhusionPassenger)
(@shift_age-3).downto(0) do |i|
if FileTest.exist?("#{@filename}.#{i}")
File.rename("#{@filename}.#{i}", "#{@filename}.#{i+1}")
end
end
@dev.close
File.rename("#{@filename}", "#{@filename}.0")
@dev = create_logfile(@filename)
return true
end
end
end