diff --git a/quiche/quic/masque/masque_connection_pool.cc b/quiche/quic/masque/masque_connection_pool.cc
index abc4cd5..7641503 100644
--- a/quiche/quic/masque/masque_connection_pool.cc
+++ b/quiche/quic/masque/masque_connection_pool.cc
@@ -510,6 +510,8 @@
 
 MasqueConnectionPool::ConnectionState::~ConnectionState() {
   if (socket_ != kInvalidSocketFd) {
+    QUICHE_LOG(INFO) << ENDPOINT << "Closing socket fd " << socket_ << " for "
+                     << authority_;
     if (!connection_pool_->event_loop()->UnregisterSocket(socket_)) {
       QUICHE_LOG(ERROR) << ENDPOINT << "Failed to unregister socket";
     }
@@ -547,14 +549,15 @@
                                             create_result.status().message()));
   }
   socket_ = create_result.value();
+  QUICHE_LOG(INFO) << ENDPOINT << "Socket fd " << socket_
+                   << " starting connect to " << socket_address << " for "
+                   << authority_;
   // Ignore result because asynchronous connect is expected to fail.
   (void)socket_api::Connect(socket_, socket_address);
   if (!connection_pool_->event_loop()->RegisterSocket(
           socket_, kSocketEventReadable | kSocketEventWritable, this)) {
     return absl::InternalError("Failed to register socket with the event loop");
   }
-  QUICHE_LOG(INFO) << ENDPOINT << "Socket fd " << socket_
-                   << " connect in progress to " << socket_address;
 
   if (disable_certificate_verification) {
     proof_verifier_ = std::make_unique<FakeProofVerifier>();
@@ -616,6 +619,7 @@
       connection_ = std::make_unique<MasqueH2Connection>(
           ssl_.get(), /*is_server=*/false, connection_pool_,
           connection_pool_->info());
+      info_ = connection_->info();
       connection_pool_->AttachConnectionToPendingRequests(authority_,
                                                           connection_.get());
       connection_->OnTransportReadable();
diff --git a/quiche/quic/masque/masque_connection_pool.h b/quiche/quic/masque/masque_connection_pool.h
index 26860d9..c7a3aa4 100644
--- a/quiche/quic/masque/masque_connection_pool.h
+++ b/quiche/quic/masque/masque_connection_pool.h
@@ -158,7 +158,7 @@
     bssl::UniquePtr<SSL> ssl_;
     std::unique_ptr<MasqueH2Connection> connection_;
     bool mtls_ = false;
-    const std::string info_;
+    std::string info_;
   };
   struct PendingRequest {
     Message request;
