Sha256: 11b59f26ce8bf92be8d8aaec7d9c722d8437ea40f5fbb0308537f7653d83eaf3
Contents?: true
Size: 1.66 KB
Versions: 3
Compression:
Stored size: 1.66 KB
Contents
module Grape module Batch class LogSubscriber < ActiveSupport::LogSubscriber def dispatch(event) requests = event.payload[:requests] if logger.debug? debug_log(requests) else info_log(requests) end end private def debug_log(requests) logger.info 'grape/batch' requests.map do |params| request, response = params logger.info " method=#{request['REQUEST_METHOD']} path=#{request['PATH_INFO']}" if request['REQUEST_METHOD'] == 'GET' unless request['QUERY_STRING'].empty? logger.debug " params: #{request['QUERY_STRING'].to_s}" end else if request['rack.input'].respond_to? :string logger.debug " body: #{request['rack.input'].string}" end end logger.debug " response: #{response.to_s}" end end def info_log(requests) messages = [] requests.each do |params| request, response = params messages << "method=#{request['REQUEST_METHOD']} path=#{request['PATH_INFO']}" end logger.info 'grape/batch ' + messages.join(', ') end def logger @logger ||= Grape::Batch.configuration.logger || rails_logger || default_logger end def default_logger logger = Logger.new($stdout) logger.level = Logger::INFO logger end # Get the Rails logger if it's defined. def rails_logger defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger end end end end Grape::Batch::LogSubscriber.attach_to(:batch)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
grape-batch-1.1.4 | lib/grape/batch/log_subscriber.rb |
grape-batch-1.1.3 | lib/grape/batch/log_subscriber.rb |
grape-batch-1.1.2 | lib/grape/batch/log_subscriber.rb |