Class: ZendeskAPI::Middleware::Response::Logger
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- ZendeskAPI::Middleware::Response::Logger
- Defined in:
- lib/zendesk_api/middleware/response/logger.rb
Overview
Faraday middleware to handle logging
Constant Summary collapse
- LOG_LENGTH =
1000
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, logger = nil) ⇒ Logger
constructor
A new instance of Logger.
Constructor Details
#initialize(app, logger = nil) ⇒ Logger
9 10 11 12 13 14 15 16 |
# File 'lib/zendesk_api/middleware/response/logger.rb', line 9 def initialize(app, logger = nil) super(app) @logger = logger || begin require 'logger' ::Logger.new(STDOUT) end end |
Instance Method Details
#call(env) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/zendesk_api/middleware/response/logger.rb', line 18 def call(env) @logger.info "#{env[:method]} #{env[:url].to_s}" @logger.debug dump_debug(env, :request_headers) @app.call(env).on_complete do |env| info = "Status #{env[:status]}" info.concat(" #{env[:body].to_s[0, LOG_LENGTH]}") if (400..499).cover?(env[:status].to_i) @logger.info info @logger.debug dump_debug(env, :response_headers) end end |