Class: Logger

Inherits:
Object show all
Defined in:
lib/active_support/clean_logger.rb,
lib/active_support/core_ext/logger.rb

Overview

Adds the ‘around_level’ method to Logger.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define_around_helper(level) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/active_support/core_ext/logger.rb', line 4

def self.define_around_helper(level)
  module_eval <<-end_eval
    def around_#{level}(before_message, after_message, &block)
      self.#{level}(before_message)
      return_value = block.call(self)
      self.#{level}(after_message)
      return return_value
    end
  end_eval
end

Instance Method Details

#silence(temporary_level = Logger::ERROR) ⇒ Object

Silences the logger for the duration of the block.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/active_support/clean_logger.rb', line 9

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