module SemanticLogger::Loggable
def self.included(base)
def self.included(base) base.extend ClassMethods base.singleton_class.class_eval do undef_method :logger if method_defined?(:logger) undef_method :logger= if method_defined?(:logger=) end base.class_eval do undef_method :logger if method_defined?(:logger) undef_method :logger= if method_defined?(:logger=) # Returns [SemanticLogger::Logger] class level logger def self.logger @semantic_logger ||= SemanticLogger[self] end # Replace instance class level logger def self.logger=(logger) @semantic_logger = logger end # Returns [SemanticLogger::Logger] instance level logger def logger @semantic_logger ||= self.class.logger end # Replace instance level logger def logger=(logger) @semantic_logger = logger end end end
def self.logger
def self.logger @semantic_logger ||= SemanticLogger[self] end
def self.logger=(logger)
def self.logger=(logger) @semantic_logger = logger end
def logger
def logger @semantic_logger ||= self.class.logger end
def logger=(logger)
def logger=(logger) @semantic_logger = logger end