Sha256: 1bb613725a0bf886e27a6a70df6aca8580c353a8afb4d9e7aa812e271d628f50
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
module WialonApi # Faraday middleware for logging requests and responses. # # It's behaviour depends on the logging options in the configuration. class Logger < Faraday::Response::Middleware # Creates a middleware instance. # The logger is set from `:logger` configuration option. def initialize(app) super(app) @logger = WialonApi.logger end # Logs the request if needed. # @param [Hash] env Request data. def call(env) if WialonApi.log_requests? @logger.debug "#{env[:method].to_s.upcase} #{env[:url]}" @logger.debug "body: #{env[:body].inspect}" unless env[:method] == :get end super end # Logs the response (successful or not) if needed. # @param [Hash] env Response data. def on_complete(env) if env[:body].respond_to?(:error) && env[:body].error? @logger.warn env[:raw_body] if WialonApi.log_errors? else @logger.debug env[:raw_body] if WialonApi.log_responses? end end end Faraday::Response.register_middleware wialon_logger: Logger end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wialon_api-0.0.8 | lib/wialon_api/logger.rb |
wialon_api-0.0.7 | lib/wialon_api/logger.rb |