Class: Logger
- 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
-
#formatter ⇒ Object
Get the current formatter.
Class Method Summary collapse
Instance Method Summary collapse
-
#datetime_format ⇒ Object
Get the logging datetime format.
-
#datetime_format=(datetime_format) ⇒ Object
Logging date-time format (string passed to
strftime
). - #old_datetime_format ⇒ Object
- #old_datetime_format= ⇒ Object
- #old_formatter ⇒ Object
-
#silence(temporary_level = Logger::ERROR) ⇒ Object
Silences the logger for the duration of the block.
-
#silencer ⇒ Object
:singleton-method: Set to false to disable the silencer.
Instance Attribute Details
#formatter ⇒ Object
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_format ⇒ Object
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_format ⇒ Object
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_formatter ⇒ Object
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 |
#silencer ⇒ Object
:singleton-method: Set to false to disable the silencer
36 |
# File 'lib/active_support/core_ext/logger.rb', line 36 cattr_accessor :silencer |