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
71 72 73 |
# File 'lib/active_support/core_ext/logger.rb', line 71 def formatter @formatter ||= SimpleFormatter.new end |
Class Method Details
.define_around_helper(level) ⇒ Object
:nodoc:
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/active_support/core_ext/logger.rb', line 5 def self.define_around_helper(level) module_eval <<-end_eval, __FILE__, __LINE__ + 1 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.
64 65 66 |
# File 'lib/active_support/core_ext/logger.rb', line 64 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=.
57 58 59 |
# File 'lib/active_support/core_ext/logger.rb', line 57 def datetime_format=(datetime_format) formatter.datetime_format = datetime_format if formatter.respond_to?(:datetime_format=) end |
#old_datetime_format ⇒ Object
61 |
# File 'lib/active_support/core_ext/logger.rb', line 61 alias :old_datetime_format :datetime_format |
#old_datetime_format= ⇒ Object
54 |
# File 'lib/active_support/core_ext/logger.rb', line 54 alias :old_datetime_format= :datetime_format= |
#old_formatter ⇒ Object
68 |
# File 'lib/active_support/core_ext/logger.rb', line 68 alias :old_formatter :formatter |
#silence(temporary_level = Logger::ERROR) ⇒ Object
Silences the logger for the duration of the block.
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/active_support/core_ext/logger.rb', line 41 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
37 |
# File 'lib/active_support/core_ext/logger.rb', line 37 cattr_accessor :silencer |