diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2012-12-21 19:15:36 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2012-12-21 19:15:36 +0100 |
commit | f914454f3af46a011d2ea627925cadea73f62e92 (patch) | |
tree | d30a605ded5ac89a5c95e9e382eaa1cabf52507e /activesupport/lib | |
parent | e0176bf7327c088ddc995d7306e72820a2713698 (diff) | |
download | rails-f914454f3af46a011d2ea627925cadea73f62e92.tar.gz rails-f914454f3af46a011d2ea627925cadea73f62e92.tar.bz2 rails-f914454f3af46a011d2ea627925cadea73f62e92.zip |
Add ActiveSupport::Logger#silence that works the same as the old Logger#silence extension
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/logger.rb | 23 | ||||
-rw-r--r-- | activesupport/lib/active_support/logger.rb | 4 | ||||
-rw-r--r-- | activesupport/lib/active_support/logger_silence.rb | 24 |
3 files changed, 31 insertions, 20 deletions
diff --git a/activesupport/lib/active_support/core_ext/logger.rb b/activesupport/lib/active_support/core_ext/logger.rb index 58704bc852..36c8f241b2 100644 --- a/activesupport/lib/active_support/core_ext/logger.rb +++ b/activesupport/lib/active_support/core_ext/logger.rb @@ -1,5 +1,6 @@ require 'active_support/core_ext/class/attribute_accessors' require 'active_support/deprecation' +require 'active_support/logger_silence' ActiveSupport::Deprecation.warn 'this file is deprecated and will be removed' @@ -31,27 +32,9 @@ require 'logger' # # logger.datetime_format = "%Y-%m-%d" # -# Note: This logger is deprecated in favor of ActiveSupport::Logger +# Note: This logger is deprecated in favor of ActiveSupport::BufferedLogger class Logger - ## - # :singleton-method: - # Set to false to disable the silencer - cattr_accessor :silencer - self.silencer = true - - # Silences the logger for the duration of the block. - def silence(temporary_level = Logger::ERROR) - if silencer - begin - old_logger_level, self.level = level, temporary_level - yield self - ensure - self.level = old_logger_level - end - else - yield self - end - end + include LoggerSilence alias :old_datetime_format= :datetime_format= # Logging date-time format (string passed to +strftime+). Ignored if the formatter diff --git a/activesupport/lib/active_support/logger.rb b/activesupport/lib/active_support/logger.rb index 65202f99fc..4a55bbb350 100644 --- a/activesupport/lib/active_support/logger.rb +++ b/activesupport/lib/active_support/logger.rb @@ -1,7 +1,11 @@ +require 'active_support/core_ext/class/attribute_accessors' +require 'active_support/logger_silence' require 'logger' module ActiveSupport class Logger < ::Logger + include LoggerSilence + # Broadcasts logs to multiple loggers. def self.broadcast(logger) # :nodoc: Module.new do diff --git a/activesupport/lib/active_support/logger_silence.rb b/activesupport/lib/active_support/logger_silence.rb new file mode 100644 index 0000000000..a8efdef944 --- /dev/null +++ b/activesupport/lib/active_support/logger_silence.rb @@ -0,0 +1,24 @@ +require 'active_support/concern' + +module LoggerSilence + extend ActiveSupport::Concern + + included do + cattr_accessor :silencer + self.silencer = true + end + + # Silences the logger for the duration of the block. + def silence(temporary_level = Logger::ERROR) + if silencer + begin + old_logger_level, self.level = level, temporary_level + yield self + ensure + self.level = old_logger_level + end + else + yield self + end + end +end
\ No newline at end of file |