Class: Logger

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

Overview

Extensions to the built in Ruby logger.

If you want to use the default log formatter as defined in the Ruby core, then you will need to set the formatter for the logger as in:

logger.formatter = Formatter.new

You can then specify the datetime format, for example:

logger.datetime_format = "%Y-%m-%d"

Note: This logger is deprecated in favor of ActiveSupport::BufferedLogger

Defined Under Namespace

Classes: Formatter, SimpleFormatter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#formatterObject

Get the current formatter. The default formatter is a SimpleFormatter which only displays the log message



70
71
72
# File 'lib/active_support/core_ext/logger.rb', line 70

def formatter
  @formatter ||= SimpleFormatter.new
end

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)  # def around_debug(before_message, after_message, &block)
      self.#{level}(before_message)                             #   self.debug(before_message)
      return_value = block.call(self)                           #   return_value = block.call(self)
      self.#{level}(after_message)                              #   self.debug(after_message)
      return return_value                                       #   return return_value
    end                                                         # end
  end_eval
end

Instance Method Details

#datetime_formatObject

Get the logging datetime format. Returns nil if the formatter does not support datetime formatting.



63
64
65
# File 'lib/active_support/core_ext/logger.rb', line 63

def datetime_format
  formatter.datetime_format if formatter.respond_to?(:datetime_format)
end

#datetime_format=(datetime_format) ⇒ Object

Logging date-time format (string passed to strftime). Ignored if the formatter does not respond to datetime_format=.



56
57
58
# File 'lib/active_support/core_ext/logger.rb', line 56

def datetime_format=(datetime_format)
  formatter.datetime_format = datetime_format if formatter.respond_to?(:datetime_format=)
end

#old_datetime_formatObject



60
# File 'lib/active_support/core_ext/logger.rb', line 60

alias :old_datetime_format :datetime_format

#old_datetime_format=Object



53
# File 'lib/active_support/core_ext/logger.rb', line 53

alias :old_datetime_format= :datetime_format=

#old_formatterObject



67
# File 'lib/active_support/core_ext/logger.rb', line 67

alias :old_formatter :formatter

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

Silences the logger for the duration of the block.



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/active_support/core_ext/logger.rb', line 40

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

#silencerObject

:singleton-method: Set to false to disable the silencer



36
# File 'lib/active_support/core_ext/logger.rb', line 36

cattr_accessor :silencer