├── README.md └── init.rb /README.md: -------------------------------------------------------------------------------- 1 | # rails_log_stdout 2 | 3 | Configure a Rails 2 or 3 app to log to STDOUT by default 4 | 5 | -------------------------------------------------------------------------------- /init.rb: -------------------------------------------------------------------------------- 1 | begin 2 | 3 | STDOUT.sync = true 4 | 5 | def Rails.heroku_stdout_logger 6 | logger = Logger.new(STDOUT) 7 | logger.level = Logger.const_get(([ENV['LOG_LEVEL'].to_s.upcase, "INFO"] & %w[DEBUG INFO WARN ERROR FATAL UNKNOWN]).compact.first) 8 | logger 9 | end 10 | 11 | case Rails::VERSION::MAJOR 12 | when 3 then Rails.logger = Rails.application.config.logger = Rails.heroku_stdout_logger 13 | when 2 then 14 | # redefine Rails.logger 15 | def Rails.logger 16 | @@logger ||= Rails.heroku_stdout_logger 17 | end 18 | %w( 19 | ActiveSupport::Dependencies 20 | ActiveRecord::Base 21 | ActionController::Base 22 | ActionMailer::Base 23 | ActionView::Base 24 | ActiveResource::Base 25 | ).each do |klass_name| 26 | begin 27 | klass = Object 28 | klass_name.split("::").each { |part| klass = klass.const_get(part) } 29 | klass.logger = Rails.logger 30 | rescue 31 | end 32 | end 33 | Rails.cache.logger = Rails.logger rescue nil 34 | end 35 | 36 | rescue Exception => ex 37 | 38 | puts "WARNING: Exception during rails_log_stdout init: #{ex.message}" 39 | 40 | end 41 | --------------------------------------------------------------------------------