Module: HonestPubsub::Logging

Defined in:
lib/honest_pubsub/logging.rb

Class Method Summary collapse

Class Method Details

.create_logger(options = {}) ⇒ Object

Builds a standard ruby Logger

Returns:

  • Returns the logger at the end of the method



36
37
38
39
40
# File 'lib/honest_pubsub/logging.rb', line 36

def self.create_logger( options = {} )
  @logger = ::Logger.new(options.fetch(:log_target){ STDOUT })
  @logger.level = options.fetch(:log_level){ ::Logger::INFO }
  @logger
end

.loggerObject

Gets the logger If no logger is defined when this method is called it will return a standard ruby logger

Returns:

  • The logger we use throughout the gem



26
27
28
29
30
31
# File 'lib/honest_pubsub/logging.rb', line 26

def self.logger 
  config = HonestPubsub::Configuration.configuration[:logger]     
  @logger ||= create_logger( {}.
    merge( config[:level].present? ? { log_level: ::Logger::Severity.const_get(config[:level].upcase) } : {} ).
    merge( config[:file].present? ? { log_target: config[:file] } : {} ) )
end

.logger=(logger) ⇒ Object

Sets the logger

Parameters:

  • logger

    The logger to use throughout the pubsub gem

Returns:

  • The logger we use throughout the gem



16
17
18
19
# File 'lib/honest_pubsub/logging.rb', line 16

def self.logger=(logger)
  raise StandardError("Can't set logger to nil") unless logger.present?
  @logger = logger
end