class Semian::CircuitBreaker
def log_state_transition(new_state)
def log_state_transition(new_state) return if @state.nil? || new_state == @state.value str = "[#{self.class.name}] State transition from #{@state.value} to #{new_state}." str += " success_count=#{@successes.value} error_count=#{@errors.size}" str += " success_count_threshold=#{@success_count_threshold} error_count_threshold=#{@error_count_threshold}" str += " error_timeout=#{@error_timeout} error_last_at=\"#{@errors.last}\"" str += " name=\"#{@name}\"" if new_state == :open && @last_error str += " last_error_message=#{@last_error.message.inspect}" end Semian.logger.info(str) end