Remove support for logging types via ToLogString extension

To have a single way of describing how to log a custom type: AbslStringify

Bug: None
Change-Id: I6a4a6db455685be01bff1b6eeddc121b4ea51b77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364901
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43189}
diff --git a/rtc_base/checks.h b/rtc_base/checks.h
index f820789..5842d588 100644
--- a/rtc_base/checks.h
+++ b/rtc_base/checks.h
@@ -218,14 +218,8 @@
   return {static_cast<absl::underlying_type_t<T>>(x)};
 }
 
-template <typename T, std::enable_if_t<has_to_log_string_v<T>>* = nullptr>
-ToStringVal MakeVal(const T& x) {
-  return {ToLogString(x)};
-}
-
 template <typename T,
-          std::enable_if_t<absl::HasAbslStringify<T>::value &&
-                           !has_to_log_string_v<T>>* = nullptr>
+          std::enable_if_t<absl::HasAbslStringify<T>::value>* = nullptr>
 ToStringVal MakeVal(const T& x) {
   return {absl::StrCat(x)};
 }
diff --git a/rtc_base/logging.h b/rtc_base/logging.h
index d5be6b1..199efeb 100644
--- a/rtc_base/logging.h
+++ b/rtc_base/logging.h
@@ -331,14 +331,8 @@
 }
 #endif
 
-template <typename T, absl::enable_if_t<has_to_log_string<T>::value>* = nullptr>
-ToStringVal MakeVal(const T& x) {
-  return {ToLogString(x)};
-}
-
 template <typename T,
-          std::enable_if_t<absl::HasAbslStringify<T>::value &&
-                           !has_to_log_string<T>::value>* = nullptr>
+          std::enable_if_t<absl::HasAbslStringify<T>::value>* = nullptr>
 ToStringVal MakeVal(const T& x) {
   return {absl::StrCat(x)};
 }
@@ -351,7 +345,6 @@
           std::enable_if_t<std::is_class<T1>::value &&               //
                            !std::is_same<T1, std::string>::value &&  //
                            !std::is_same<T1, LogMetadata>::value &&  //
-                           !has_to_log_string<T1>::value &&          //
                            !absl::HasAbslStringify<T1>::value &&
 #ifdef WEBRTC_ANDROID
                            !std::is_same<T1, LogMetadataTag>::value &&  //
diff --git a/rtc_base/logging_unittest.cc b/rtc_base/logging_unittest.cc
index 9e6f297..1186e4f 100644
--- a/rtc_base/logging_unittest.cc
+++ b/rtc_base/logging_unittest.cc
@@ -389,20 +389,5 @@
   LogMessage::RemoveLogToStream(&stream);
 }
 
-struct TestStruct {};
-std::string ToLogString(TestStruct foo) {
-  return "bar";
-}
-
-TEST(LogTest, ToLogStringUsedForUnknownTypes) {
-  std::string str;
-  LogSinkImpl stream(&str);
-  LogMessage::AddLogToStream(&stream, LS_INFO);
-  TestStruct t;
-  RTC_LOG(LS_INFO) << t;
-  EXPECT_THAT(str, ::testing::HasSubstr("bar"));
-  LogMessage::RemoveLogToStream(&stream);
-}
-
 }  // namespace rtc
 #endif  // RTC_LOG_ENABLED()
diff --git a/rtc_base/type_traits.h b/rtc_base/type_traits.h
index e040e60..8f90a88 100644
--- a/rtc_base/type_traits.h
+++ b/rtc_base/type_traits.h
@@ -37,16 +37,6 @@
   static constexpr bool value = std::is_same<decltype(Test<DS>(0)), int>::value;
 };
 
-template <typename T, typename = void>
-struct has_to_log_string : std::false_type {};
-template <typename T>
-struct has_to_log_string<T,
-                         std::enable_if_t<std::is_convertible_v<
-                             decltype(ToLogString(std::declval<T>())),
-                             std::string>>> : std::true_type {};
-template <typename T>
-constexpr bool has_to_log_string_v = has_to_log_string<T>::value;
-
 namespace test_has_data_and_size {
 
 template <typename DR, typename SR>