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



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

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)


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

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



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

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



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

def logger
  @logger ||= Logging.logger
end