Sha256: 18bc20e3bfe82148f8ed37e3580a149ebaf96504fdb61acee9da5f9c818d011d

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

require File.join(File.dirname(__FILE__), "base")
module Mack
  module RunnerHelpers # :nodoc:
    class RequestLogger < Mack::RunnerHelpers::Base
      
      attr_reader :start_time
      attr_reader :end_time
      attr_reader :total_time
      attr_reader :requests_per_second
      
      def start(request, response, cookies)
        @start_time = Time.now
      end
      
      def complete(request, response, cookies)
        @end_time = Time.now
        @total_time = @end_time - @start_time
        @requests_per_second = (1 / @total_time).round
        if configatron.mack.log.detailed_requests
          msg = "\n\t[#{request.params[:method].to_s.upcase}] '#{request.path_info}'\n"
          msg << "\tSession ID: #{request.session.id}\n" if configatron.mack.use_sessions
          msg << "\tParameters: #{request.params}\n"
          msg << Mack::Utils::Ansi::Color.wrap(configatron.mack.log.colors.completed, "\tCompleted in #{@total_time} (#{@requests_per_second} reqs/sec) | #{response.status} (#{Mack::Utils::HttpStatusCodes.get(response.status)}) [#{request.full_host}]")
        else
          msg = "[#{request.request_method.upcase}] '#{request.path_info}' (#{total_time})"
        end
        Mack.logger.info(msg)
      end
      
    end # RequestLogger
  end # RunnerHelpers
end # Mack

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mack-0.8.3 lib/mack/runner_helpers/request_logger.rb
mack-0.8.3.1 lib/mack/runner_helpers/request_logger.rb