diff --git a/p2p/base/stun_port.cc b/p2p/base/stun_port.cc
index 7a76af5..7b1a2a83 100644
--- a/p2p/base/stun_port.cc
+++ b/p2p/base/stun_port.cc
@@ -306,7 +306,9 @@
     if (send_error_count_ < kSendErrorLogLimit) {
       ++send_error_count_;
       RTC_LOG(LS_ERROR) << ToString() << ": UDP send of " << size
-                        << " bytes failed with error " << error_;
+                        << " bytes to host " << addr.ToSensitiveString() << " ("
+                        << addr.ToResolvedSensitiveString()
+                        << ") failed with error " << error_;
     }
   } else {
     send_error_count_ = 0;
@@ -593,7 +595,11 @@
   options.info_signaled_after_sent.packet_type = rtc::PacketType::kStunMessage;
   CopyPortInformationToPacketInfo(&options.info_signaled_after_sent);
   if (socket_->SendTo(data, size, sreq->server_addr(), options) < 0) {
-    RTC_LOG_ERR_EX(LERROR, socket_->GetError()) << "sendto";
+    RTC_LOG_ERR_EX(LERROR, socket_->GetError())
+        << "UDP send of " << size << " bytes to host "
+        << sreq->server_addr().ToSensitiveString() << " ("
+        << sreq->server_addr().ToResolvedSensitiveString()
+        << ") failed with error " << error_;
   }
   stats_.stun_binding_requests_sent++;
 }
diff --git a/rtc_base/socket_address.cc b/rtc_base/socket_address.cc
index 639be52..2996ede 100644
--- a/rtc_base/socket_address.cc
+++ b/rtc_base/socket_address.cc
@@ -178,6 +178,16 @@
   return sb.str();
 }
 
+std::string SocketAddress::ToResolvedSensitiveString() const {
+  if (IsUnresolvedIP()) {
+    return "";
+  }
+  char buf[1024];
+  rtc::SimpleStringBuilder sb(buf);
+  sb << ipaddr().ToSensitiveString() << ":" << port();
+  return sb.str();
+}
+
 bool SocketAddress::FromString(const std::string& str) {
   if (str.at(0) == '[') {
     std::string::size_type closebracket = str.rfind(']');
diff --git a/rtc_base/socket_address.h b/rtc_base/socket_address.h
index f459407..570a712 100644
--- a/rtc_base/socket_address.h
+++ b/rtc_base/socket_address.h
@@ -124,6 +124,10 @@
   // Same as ToString but anonymizes it by hiding the last part.
   std::string ToSensitiveString() const;
 
+  // Returns hostname:port string if address is resolved, otherwise returns
+  // empty string.
+  std::string ToResolvedSensitiveString() const;
+
   // Parses hostname:port and [hostname]:port.
   bool FromString(const std::string& str);
 
