Module: SgtnClient::Logging

Included in:
SgtnClient
Defined in:
lib/sgtn-client/core/logging.rb

Overview

Include Logging module to provide logger functionality.

Configure logger

Logging.logger = Logger.new(STDERR)

Example

include Logger
logger.info "Debug message"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.loggerObject

Get or Create configured logger based on the default environment configuration



32
33
34
# File 'lib/sgtn-client/core/logging.rb', line 32

def logger
  @logger ||= Logger.new(STDERR)
end

.logger=(logger) ⇒ Object

Set logger directly and clear the loggers cache.

Attributes

  • logger – Logger object

Example

Logging.logger = Logger.new(STDERR)


41
42
43
44
45
46
47
# File 'lib/sgtn-client/core/logging.rb', line 41

def logger=(logger)
  @logger = logger
  if Config.config.mode.eql? 'live' and @logger.level == Logger::DEBUG
    @logger.warn "DEBUG log level not allowed in live mode for security of confidential information. Changing log level to INFO..."
    @logger.level = Logger::INFO
  end
end

Instance Method Details

#log_event(message, &block) ⇒ Object



22
23
24
25
26
27
# File 'lib/sgtn-client/core/logging.rb', line 22

def log_event(message, &block)
  start_time = Time.now
  block.call
ensure
  logger.info sprintf("[%.3fs] %s", Time.now - start_time, message)
end

#loggerObject

Get logger object



18
19
20
# File 'lib/sgtn-client/core/logging.rb', line 18

def logger
  @logger ||= Logging.logger
end