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: SimpleFormatter
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
). -
#initialize(*args) ⇒ Logger
constructor
Overwrite initialize to set a default formatter.
- #old_datetime_format ⇒ Object
- #old_datetime_format= ⇒ Object
- #old_initialize ⇒ 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.
Constructor Details
#initialize(*args) ⇒ Logger
Overwrite initialize to set a default formatter.
69 70 71 72 |
# File 'lib/active_support/core_ext/logger.rb', line 69 def initialize(*args) old_initialize(*args) self.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) # def around_debug(before_message, after_message, &block) self.#{level}(before_message) # self.debug(before_message) return_value = yield(self) # return_value = yield(self) self.#{level}(after_message) # self.debug(after_message) return_value # 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_initialize ⇒ Object
67 |
# File 'lib/active_support/core_ext/logger.rb', line 67 alias :old_initialize :initialize |
#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 |