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