Class: Fizzy::LoggerHooks
- Inherits:
-
Object
- Object
- Fizzy::LoggerHooks
show all
- Includes:
- Hooks
- Defined in:
- lib/fizzy/logger_hooks.rb
Overview
Hooks implementation that logs to Ruby’s Logger.
Instance Method Summary
collapse
Methods included from Hooks
#on_operation_end, #on_operation_start
Constructor Details
#initialize(logger, level: :debug) ⇒ LoggerHooks
Returns a new instance of LoggerHooks.
16
17
18
19
|
# File 'lib/fizzy/logger_hooks.rb', line 16
def initialize(logger, level: :debug)
@logger = logger
@level = level
end
|
Instance Method Details
#on_paginate(url, page) ⇒ Object
42
43
44
|
# File 'lib/fizzy/logger_hooks.rb', line 42
def on_paginate(url, page)
@logger.send(@level, "Fetching page #{page}: #{url}")
end
|
#on_request_end(info, result) ⇒ Object
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/fizzy/logger_hooks.rb', line 25
def on_request_end(info, result)
if result.error
@logger.send(@level, "HTTP #{info.method} #{info.url} failed: #{result.error.message}")
else
cache_info = result.from_cache ? " (cached)" : ""
@logger.send(@level, \
"HTTP #{info.method} #{info.url} -> #{result.status_code}#{cache_info}" \
" (#{format("%.3f", result.duration)}s)")
end
end
|
#on_request_start(info) ⇒ Object
21
22
23
|
# File 'lib/fizzy/logger_hooks.rb', line 21
def on_request_start(info)
@logger.send(@level, "HTTP #{info.method} #{info.url} (attempt #{info.attempt})")
end
|
#on_retry(info, attempt, error, delay) ⇒ Object
36
37
38
39
40
|
# File 'lib/fizzy/logger_hooks.rb', line 36
def on_retry(info, attempt, error, delay)
@logger.send(@level, \
"Retrying #{info.method} #{info.url} (attempt #{attempt})" \
" in #{format("%.2f", delay)}s: #{error.message}")
end
|