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:
parent
883d82992c
commit
c99ca26a8d
|
@ -59,6 +59,7 @@ require_dependency 'instiki_errors'
|
||||||
|
|
||||||
#require 'jcode'
|
#require 'jcode'
|
||||||
require 'caching_stuff'
|
require 'caching_stuff'
|
||||||
|
require 'logging_stuff'
|
||||||
|
|
||||||
#Additional Mime-types
|
#Additional Mime-types
|
||||||
mime_types = YAML.load_file(File.join(File.dirname(__FILE__), 'mime_types.yml'))
|
mime_types = YAML.load_file(File.join(File.dirname(__FILE__), 'mime_types.yml'))
|
||||||
|
|
20
lib/logging_stuff.rb
Normal file
20
lib/logging_stuff.rb
Normal 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
|
|
@ -177,7 +177,7 @@ class UrlGenerator < AbstractUrlGenerator
|
||||||
|
|
||||||
def wikilink_for(mode, name, text, web_address)
|
def wikilink_for(mode, name, text, web_address)
|
||||||
web = Web.find_by_address(web_address)
|
web = Web.find_by_address(web_address)
|
||||||
action = web.published? && !(web == @web && ![:publish, :s5].include?(mode) ) ? 'published' : 'show'
|
action = web.published? && (web != @web || [:publish, :s5].include?(mode) ) ? 'published' : 'show'
|
||||||
href = @controller.url_for :controller => 'wiki', :web => web_address, :action => action,
|
href = @controller.url_for :controller => 'wiki', :web => web_address, :action => action,
|
||||||
:id => name, :only_path => true
|
:id => name, :only_path => true
|
||||||
%{<a class="existingWikiWord" href="#{href}">#{text}</a>}
|
%{<a class="existingWikiWord" href="#{href}">#{text}</a>}
|
||||||
|
|
Loading…
Reference in a new issue