Class: Restool::RequestLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/restool/logger/request_logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(host, opts) ⇒ RequestLogger

Returns a new instance of RequestLogger.



4
5
6
7
# File 'lib/restool/logger/request_logger.rb', line 4

def initialize(host, opts)
  @host = host
  @opts = opts
end

Instance Method Details

#log(request, &http_request) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/restool/logger/request_logger.rb', line 9

def log(request, &http_request)
  log_request(request) if log?
  response = http_request.call
  log_response(response) if log?

  response
rescue StandardError => e
  log_error(e) if log?

  raise
end

#log?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
# File 'lib/restool/logger/request_logger.rb', line 25

def log?
  if @opts[:log] != nil
    @opts[:log]
  else
    @opts[:logger] != nil
  end
end

#loggerObject



21
22
23
# File 'lib/restool/logger/request_logger.rb', line 21

def logger
  @opts[:logger]
end