Reland "Structured ICE logging via RtcEventLog."

This is a reland of eed5aa8904d09179971d3f4e7e10c109d7c62bfc
Original change's description:
> Structured ICE logging via RtcEventLog.
>
> This change list contains the structured logging module for ICE using
> the RtcEventLog infrastructure, and also extension to the log parser
> and analyzer.
>
> Bug: None
> Change-Id: I6539cf282155c2cde4d3161c53500c0746671a02
> Reviewed-on: https://webrtc-review.googlesource.com/34622
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21816}

TBR=pthatcher@webrtc.org,terelius@webrtc.org,deadbeef@webrtc.org

Bug: None
Change-Id: I3df585bf636315ceb0273967146111346a83be86
Reviewed-on: https://webrtc-review.googlesource.com/47545
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21881}
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index f1f2d91..b65c0b8 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -164,6 +164,7 @@
   defines = []
 
   deps = [
+    ":ice_log",
     ":rtc_event_audio",
     ":rtc_event_bwe",
     ":rtc_event_log_api",
@@ -221,6 +222,7 @@
   defines = []
 
   deps = [
+    ":ice_log",
     ":rtc_event_log_api",
     ":rtc_event_log_impl_encoder",
     ":rtc_event_log_impl_output",
@@ -263,6 +265,7 @@
     ]
 
     deps = [
+      ":ice_log",
       ":rtc_event_bwe",
       ":rtc_event_log2_proto",
       ":rtc_event_log_api",
@@ -400,6 +403,28 @@
   }
 }
 
+rtc_source_set("ice_log") {
+  sources = [
+    "rtc_event_log/events/rtc_event_ice_candidate_pair.cc",
+    "rtc_event_log/events/rtc_event_ice_candidate_pair.h",
+    "rtc_event_log/events/rtc_event_ice_candidate_pair_config.cc",
+    "rtc_event_log/events/rtc_event_ice_candidate_pair_config.h",
+    "rtc_event_log/icelogger.cc",
+    "rtc_event_log/icelogger.h",
+  ]
+
+  deps = [
+    ":rtc_event_log_api",
+    "../api:libjingle_logging_api",
+    "../rtc_base:rtc_base_approved",
+  ]
+
+  if (!build_with_chromium && is_clang) {
+    # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+    suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+  }
+}
+
 if (rtc_include_tests) {
   rtc_source_set("mocks") {
     testonly = true