Sha256: 521fb1c6b665e9e4e1ee306de6f849449a69cad483c32bc8b3d53caf61f1e88f

Contents?: true

Size: 750 Bytes

Versions: 1

Compression:

Stored size: 750 Bytes

Contents

module Lumber

  # Include this module to add a logger accessible from both class and instance methods.
  # A logger heirarchy will be created if the class including this module is nested
  module LoggerSupport

    def self.included(receiver)
      receiver.class_eval do
        class_inheritable_accessor :logger
        last_logger = nil
        name_parts = self.name.split("::")
        name_parts.insert(0, Lumber::BASE_LOGGER)
        name_parts.each_with_index do |part, i|
          partial = name_parts[0..i].join("::")
          last_logger = Log4r::Logger[partial]
          if ! last_logger
            last_logger = Log4r::Logger.new(partial)
          end
        end
        self.logger = last_logger
      end
    end

  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lumber-0.9.5 lib/lumber/logger_support.rb