From d7d7369d83d1573ab75766c2e7e866eb2127f6e8 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Wed, 5 Oct 2022 02:41:20 +0200
Subject: [PATCH] Use MessengerLogger

---
 .../Messenger/Functions/MessengerStartLogging.swift   |  3 +--
 .../Messenger/MessengerEnvironment.swift              | 11 ++++-------
 .../Functions/MessengerStartLoggingTests.swift        | 10 +++++-----
 3 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerStartLogging.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerStartLogging.swift
index d073ee41..dd4d12b0 100644
--- a/Sources/XXMessengerClient/Messenger/Functions/MessengerStartLogging.swift
+++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerStartLogging.swift
@@ -15,8 +15,7 @@ extension MessengerStartLogging {
   public static func live(_ env: MessengerEnvironment) -> MessengerStartLogging {
     return MessengerStartLogging {
       env.registerLogWriter(.init { messageString in
-        let message = LogMessage.parse(messageString)
-        env.log(message)
+        env.logger(.parse(messageString))
       })
     }
   }
diff --git a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift
index a98e76f0..f37764da 100644
--- a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift
+++ b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift
@@ -1,5 +1,4 @@
 import Foundation
-import Logging
 import XXClient
 import XCTestDynamicOverlay
 
@@ -19,7 +18,7 @@ public struct MessengerEnvironment {
   public var isListeningForMessages: Stored<Bool>
   public var isRegisteredWithUD: IsRegisteredWithUD
   public var loadCMix: LoadCMix
-  public var log: (LogMessage) -> Void
+  public var logger: MessengerLogger
   public var login: Login
   public var lookupUD: LookupUD
   public var messageListeners: ListenersRegistry
@@ -51,9 +50,7 @@ extension MessengerEnvironment {
     .path
 
   public static func live() -> MessengerEnvironment {
-    let logger = Logger(label: "xx.network.client")
-
-    return MessengerEnvironment(
+    MessengerEnvironment(
       authCallbacks: .live(),
       backup: .inMemory(),
       backupCallbacks: .live(),
@@ -69,7 +66,7 @@ extension MessengerEnvironment {
       isListeningForMessages: .inMemory(false),
       isRegisteredWithUD: .live,
       loadCMix: .live,
-      log: { logger.log(level: $0.level, .init(stringLiteral: $0.text)) },
+      logger: .live(),
       login: .live,
       lookupUD: .live,
       messageListeners: .live(),
@@ -112,7 +109,7 @@ extension MessengerEnvironment {
     isListeningForMessages: .unimplemented(placeholder: false),
     isRegisteredWithUD: .unimplemented,
     loadCMix: .unimplemented,
-    log: XCTUnimplemented("\(Self.self).log"),
+    logger: .unimplemented,
     login: .unimplemented,
     lookupUD: .unimplemented,
     messageListeners: .unimplemented,
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartLoggingTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartLoggingTests.swift
index b0d0a7c3..d3b4fb38 100644
--- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartLoggingTests.swift
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartLoggingTests.swift
@@ -6,14 +6,14 @@ import XXClient
 final class MessengerStartLoggingTests: XCTestCase {
   func testStartLogging() {
     var registeredLogWriters: [LogWriter] = []
-    var logMessages: [LogMessage] = []
+    var logs: [MessengerLogger.Log] = []
 
     var env: MessengerEnvironment = .unimplemented
     env.registerLogWriter.run = { writer in
       registeredLogWriters.append(writer)
     }
-    env.log = { message in
-      logMessages.append(message)
+    env.logger.run = { log, _, _, _ in
+      logs.append(log)
     }
     let start: MessengerStartLogging = .live(env)
 
@@ -23,8 +23,8 @@ final class MessengerStartLoggingTests: XCTestCase {
 
     registeredLogWriters.first?.handle("DEBUG Hello, World!")
 
-    XCTAssertNoDifference(logMessages, [
-      .init(level: .debug, text: "Hello, World!"),
+    XCTAssertNoDifference(logs, [
+      .init(level: .debug, message: "Hello, World!"),
     ])
   }
 }
-- 
GitLab