Sha256: a1aa3432cd9fd1b74f00aa02182ecce39b0a14f0c49ba0da310cd77686321530

Contents?: true

Size: 798 Bytes

Versions: 5

Compression:

Stored size: 798 Bytes

Contents

module GitlabAwesomeRelease
  module GitlabLoggingExt
    [:get, :post, :put, :delete].each do |method|
      define_method method do |path, options = {}|
        begin
          start_time = Time.now

          super(path, options)
        ensure
          end_time = Time.now

          # NOTE: options[:headers] contains PRIVATE-TOKEN
          _options = options.reject {|k, _v| k == :headers }
          self.class.logger.debug "(#{end_time - start_time} sec) #{method.upcase} #{path} #{_options}"
        end
      end
    end
  end
end

Gitlab::Request.class_eval do
  prepend GitlabAwesomeRelease::GitlabLoggingExt

  def self.logger
    Gitlab::Request.instance_variable_get(:@logger)
  end

  def self.logger=(logger)
    Gitlab::Request.instance_variable_set(:@logger, logger)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gitlab_awesome_release-1.1.1 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-1.1.0 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-1.0.4 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-1.0.3 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-1.0.2 lib/gitlab_awesome_release/gitlab_logging_ext.rb