Sha256: c2d8ed1942cc82166f7580e05fcb001a83e4a4b8312e74cb5cc552956f6f454d

Contents?: true

Size: 824 Bytes

Versions: 1

Compression:

Stored size: 824 Bytes

Contents

module Loggable
  
  module ClassMethods
    
    @@logger = nil
    
    # Use this method on any of your classes to trigger the logging facility:
    #
    #   MyClass.logger = Logger.new('/path/to/logfile')
    #
    # Now you can call the 'logger' method inside a class or instance method to log at
    # the specified level.  See the README for details.
    #
    def logger=(logger)
      @@logger = logger
    end
    
    # If RAILS_DEFAULT_LOGGER is defined, that will be returned.
    # If no logger has been defined, a new STDOUT Logger will be created.
    def logger
      # @@logger || LoggerStub.new
      @@logger ||= (defined?(::Rails) && !::Rails.logger.nil?) ? ::Rails.logger : ::Logger.new(STDOUT)
    end
    
  end
  
  module InstanceMethods
    def logger
      self.class.logger
    end
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mediashelf-loggable-0.4.2 lib/loggable/log_methods.rb