Sha256: f1129932faa40f500f5695e3cfe1dd80f0ebe5332e5610c15767fdc0f4458d0e

Contents?: true

Size: 817 Bytes

Versions: 3

Compression:

Stored size: 817 Bytes

Contents

module RestApi
  class LogSubscriber < ActiveSupport::LogSubscriber
    def self.runtime=(value)
      Thread.current["rest_api_call_runtime"] = value
    end
    def self.runtime
      Thread.current["rest_api_call_runtime"] ||= 0
    end
    def self.reset_runtime
      rt, self.runtime = runtime, 0
      rt
    end

    def request(event)
      self.class.runtime += event.duration
      return unless logger.debug?

      name = '%s (%.1fms)' % ['OpenShift API', event.duration]

      call = "#{color(event.payload.delete(:method), BOLD, true)} #{event.payload.delete(:request_uri)}"

      result = event.payload[:result]
      query = {:code => result.code}.map{ |k,v| "#{k}: #{color(v, BOLD, true)}" }.join(', ') if result

      debug "  #{color(name, BLUE, true)} #{call} [ #{query} ]"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openshift-origin-console-1.3.4 app/models/rest_api/log_subscriber.rb
openshift-origin-console-1.3.3 app/models/rest_api/log_subscriber.rb
openshift-origin-console-1.3.2 app/models/rest_api/log_subscriber.rb