16 lines
444 B
Ruby
16 lines
444 B
Ruby
# Adds the 'around_level' method to Logger.
|
|
|
|
class Logger
|
|
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
|
|
[:debug, :info, :error, :fatal].each {|level| define_around_helper(level) }
|
|
|
|
end |