Verified Commit 656cd935 authored by Hercules Merscher's avatar Hercules Merscher 🌴
Browse files

fix: Use standard error fields for rate limit logs

parent fb73d565
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -287,9 +287,10 @@ module Labkit

      def log_error(error, identifier)
        @logger.warn(
          message: "rate_limit_error",
          name: @name,
          error: error.class.to_s,
          Labkit::Fields::ERROR_TYPE => "rate_limit_error",
          Labkit::Fields::CLASS_NAME => error.class.to_s,
          Labkit::Fields::ERROR_MESSAGE => error.message,
          identifier: identifier&.to_h
        )
      end
+15 −3
Original line number Diff line number Diff line
@@ -423,7 +423,11 @@ RSpec.describe Labkit::RateLimit::Evaluator do

      logger = instance_double(Labkit::Logging::JsonLogger)
      expect(logger).to receive(:warn).with(
        hash_including(message: "rate_limit_error", error: "RuntimeError")
        hash_including(
          Labkit::Fields::ERROR_TYPE => "rate_limit_error",
          Labkit::Fields::CLASS_NAME => "RuntimeError",
          Labkit::Fields::ERROR_MESSAGE => "connection refused"
        )
      )

      ev = described_class.new(name: "rack_request", rules: [peek_rule], redis: faulty_redis, logger: logger)
@@ -526,7 +530,11 @@ RSpec.describe Labkit::RateLimit::Evaluator do

      logger = instance_double(Labkit::Logging::JsonLogger)
      expect(logger).to receive(:warn).with(
        hash_including(message: "rate_limit_error", error: "RuntimeError")
        hash_including(
          Labkit::Fields::ERROR_TYPE => "rate_limit_error",
          Labkit::Fields::CLASS_NAME => "RuntimeError",
          Labkit::Fields::ERROR_MESSAGE => "connection refused"
        )
      )

      rule = make_rule(name: "err_rule")
@@ -1031,7 +1039,11 @@ RSpec.describe Labkit::RateLimit::Evaluator do
      broken_pool = PooledRedis.new(broken)
      logger = instance_double(Labkit::Logging::JsonLogger)
      expect(logger).to receive(:warn).with(
        hash_including(message: "rate_limit_error", error: "RuntimeError")
        hash_including(
          Labkit::Fields::ERROR_TYPE => "rate_limit_error",
          Labkit::Fields::CLASS_NAME => "RuntimeError",
          Labkit::Fields::ERROR_MESSAGE => "connection refused"
        )
      )

      rule = make_rule(name: "uniq_rule", count_distinct: :project)