lib/loggable/log_methods.rb in mediashelf-loggable-0.4.3 vs lib/loggable/log_methods.rb in mediashelf-loggable-0.4.5

- old
+ new

@@ -16,14 +16,21 @@ end # If ::Rails.logger is defined, that will be returned. # If no logger has been defined, a new STDOUT Logger will be created. def logger - if (defined?(::Rails) && !::Rails.logger.nil?) - @@logger = ::Rails.logger - else - @@logger ||= ::Logger.new(STDOUT) + + if defined?(::Rails) && Rails.respond_to?(:version) + if Rails.version >= "3.0" && defined?(::Rails::Application) && !::Rails.logger.nil? + @@logger = ::Rails.logger + elsif defined?(RAILS_DEFAULT_LOGGER) + @@logger = RAILS_DEFAULT_LOGGER + end end + + # If none of the above was able to set @@logger, create a new default logger + @@logger ||= ::Logger.new(STDOUT) + return @@logger end end \ No newline at end of file