Sha256: 6997608427bbda05b3609c0469a4ed9d4edc5afff8dff19190037b1793e61068

Contents?: true

Size: 799 Bytes

Versions: 4

Compression:

Stored size: 799 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

4 entries across 4 versions & 1 rubygems

Version Path
gitlab_awesome_release-1.0.1 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-1.0.0 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-0.1.2 lib/gitlab_awesome_release/gitlab_logging_ext.rb
gitlab_awesome_release-0.1.1 lib/gitlab_awesome_release/gitlab_logging_ext.rb