Add new Logger to iOS SDK to be able to intercept logs and report them to the appropriate system

Bug: webrtc:8695
Change-Id: I4f81529222dcaf3dded1a0ab93fabf5cda1fdef8
Reviewed-on: https://webrtc-review.googlesource.com/37001
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21821}
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 24f9206..fbc167c 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -84,7 +84,9 @@
 
     if (!build_with_chromium) {
       sources += [
+        "objc/Framework/Classes/Common/RTCCallbackLogger.mm",
         "objc/Framework/Classes/Common/RTCFileLogger.mm",
+        "objc/Framework/Headers/WebRTC/RTCCallbackLogger.h",
         "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
       ]
     }
@@ -596,6 +598,7 @@
           ]
 
           sources = [
+            "objc/Framework/UnitTests/RTCCallbackLogger_xctest.m",
             "objc/Framework/UnitTests/RTCDoNotPutCPlusPlusInFrameworkHeaders_xctest.m",
             "objc/Framework/UnitTests/RTCFileVideoCapturer_xctest.mm",
           ]
@@ -785,8 +788,14 @@
         public_headers = common_objc_headers
 
         if (!build_with_chromium) {
-          sources += [ "objc/Framework/Headers/WebRTC/RTCFileLogger.h" ]
-          public_headers += [ "objc/Framework/Headers/WebRTC/RTCFileLogger.h" ]
+          sources += [
+            "objc/Framework/Headers/WebRTC/RTCCallbackLogger.h",
+            "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
+          ]
+          public_headers += [
+            "objc/Framework/Headers/WebRTC/RTCCallbackLogger.h",
+            "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
+          ]
         }
 
         ldflags = [