Skip to content

Commit

Permalink
Switch to Module#prepend to patch stdlib Logger
Browse files Browse the repository at this point in the history
instead of older style alias_method chain juggling. We hope this has fewer poor interactions with other things patching Logger as in rudionrails#60. And it's just a more modern cleaner style.

Could be a first step to making this stdlib Logger patching optional, but does not require that.
  • Loading branch information
jrochkind committed Apr 15, 2020
1 parent e7a7498 commit d723cb2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 18 deletions.
17 changes: 0 additions & 17 deletions lib/core_ext/logger.rb

This file was deleted.

6 changes: 5 additions & 1 deletion lib/yell.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
12 changes: 12 additions & 0 deletions lib/yell/stdlib_log_wrapper.rb
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit d723cb2

Please sign in to comment.