Skip to content

Instantly share code, notes, and snippets.

@chad
Created May 25, 2010 23:27
Show Gist options
  • Save chad/413822 to your computer and use it in GitHub Desktop.
Save chad/413822 to your computer and use it in GitHub Desktop.
require 'logger'
module Loggable
def self.included(klass)
klass.extend ClassMethods
end
module ClassMethods
def logger=(logger)
@logger = logger
end
def logger
@logger
end
end
def logger
self.class.logger
end
end
class Animal
include Loggable
end
class Person
include Loggable
def die!
logger.debug("Oh no I'm dying!")
end
end
Person.logger = Logger.new(STDOUT)
Person.logger.debug "Hello world"
chad = Person.new
chad.die!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment