Skip to content

Instantly share code, notes, and snippets.

@freegenie
Created December 13, 2012 00:14
Show Gist options
  • Save freegenie/4272930 to your computer and use it in GitHub Desktop.
Save freegenie/4272930 to your computer and use it in GitHub Desktop.
Unicorn after_fork block to have Rails write logs to a separare file for each worker.
after_fork do |server, worker|
log_path = Rails.root.join('log',"#{Rails.env}.#{worker.nr}.log")
new_logger = Logger.new(log_path)
new_logger.level = Logger::INFO
Rails.logger.flush
Rails.logger.close
Rails.logger = Rails.application.config.logger = ActiveSupport::TaggedLogging.new(new_logger)
ActiveSupport::Dependencies.logger = Rails.logger
ActiveRecord::Base.logger = Rails.logger
ActionController::Base.logger = Rails.logger
ActionMailer::Base.logger = Rails.logger
Rails.cache.logger = Rails.logger
ActiveRecord::Base.establish_connection
end
@vjt
Copy link

vjt commented Dec 18, 2012

Thanks, man!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment