Created
August 19, 2010 13:12
-
-
Save kares/537835 to your computer and use it in GitHub Desktop.
separate logging file per cluster member configuration sample for mongrel/thin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Sample configuration snippet for clustered production environment. | |
| # - choose Your preferred server (Mongrel or Thin) - You do not need both ! | |
| # - each cluster member will log to it's own 'production.PORT.log' file | |
| # 1. Mongrel Cluster : | |
| config.gem 'mongrel', :version => '~> 1.1.5', :lib => false | |
| config.gem 'mongrel_cluster', :version => '~> 1.0.5', :lib => false | |
| ObjectSpace.each_object(Mongrel::HttpServer) { |i| @_server_port = i.port } rescue nil | |
| # 2. Thin Server : | |
| config.gem 'thin', :version => '~> 1.2.7', :lib => false | |
| ObjectSpace.each_object(Thin::Server) { |i| @_server_port = i.port } rescue nil | |
| # use a different logger for distributed setups : | |
| if defined?(@_server_port) && @_server_port && @_server_port.to_i > 0 | |
| config.logger = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.#{@_server_port}.log", 20, 5242880) # 20 x 5 x #servers MB | |
| else | |
| # need to be able to run this code during migrations or console | |
| puts "Port could not be introspected; not running a Mongrel/Thin in this instance." | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment