diff --git a/lib/core_ext/logger.rb b/lib/core_ext/logger.rb deleted file mode 100644 index 5364dd0..0000000 --- a/lib/core_ext/logger.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'logger' - -class Logger - - def level_with_yell=( level ) - self.level_without_yell= level.is_a?(Yell::Level) ? Integer(level) : level - end - alias_method :level_without_yell=, :level= - alias_method :level=, :level_with_yell= - - def add_with_yell( severity, message = nil, progname = nil, &block ) - add_without_yell(Integer(severity), message, progname, &block) - end - alias_method :add_without_yell, :add - alias_method :add, :add_with_yell - -end diff --git a/lib/yell.rb b/lib/yell.rb index b1fd4d6..e0cc376 100644 --- a/lib/yell.rb +++ b/lib/yell.rb @@ -134,7 +134,11 @@ def __fetch__( hash, *args ) require File.dirname(__FILE__) + '/yell/loggable' # core extensions -require File.dirname(__FILE__) + '/core_ext/logger' +require File.dirname(__FILE__) + '/yell/stdlib_log_wrapper' + +# Patch stdlib ::Logger +require 'logger' +::Logger.prepend(Yell::StdlibLogWrapper) # register known adapters Yell.register :null, Yell::Adapters::Base # adapter that does nothing (for convenience only) diff --git a/lib/yell/stdlib_log_wrapper.rb b/lib/yell/stdlib_log_wrapper.rb new file mode 100644 index 0000000..289a66f --- /dev/null +++ b/lib/yell/stdlib_log_wrapper.rb @@ -0,0 +1,12 @@ +module Yell + # Module intended to be prepended onto ::Logger + module StdlibLogWrapper + def level=(level) + super(level.is_a?(Yell::Level) ? Integer(level) : level) + end + + def add( severity, message = nil, progname = nil, &block ) + super(Integer(severity), message, progname, &block) + end + end +end