From 79b98994fef18d7fcc24f99b86b060fcc19267e1 Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Thu, 3 Oct 2024 09:03:28 +1000 Subject: [PATCH] Fixed a bug with return from background logs Fixed a bug where logs sent before the logger finishes setting up after returning from the background weren't getting added to the log gile --- SessionUtilitiesKit/General/Logging.swift | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/SessionUtilitiesKit/General/Logging.swift b/SessionUtilitiesKit/General/Logging.swift index eb08e5f2c..812024dc8 100644 --- a/SessionUtilitiesKit/General/Logging.swift +++ b/SessionUtilitiesKit/General/Logging.swift @@ -68,8 +68,8 @@ public enum Log { private static var pendingStartupLogs: Atomic<[LogInfo]> = Atomic([]) public static func setup(with logger: Logger) { - logger.retrievePendingStartupLogs.mutate { - $0 = { + logger.pendingLogsRetriever.mutate { callback in + callback = { pendingStartupLogs.mutate { pendingStartupLogs in let logs: [LogInfo] = pendingStartupLogs pendingStartupLogs = [] @@ -344,7 +344,7 @@ public class Logger { private let systemLoggers: Atomic<[String: SystemLoggerType]> = Atomic([:]) fileprivate let fileLogger: DDFileLogger fileprivate let isSuspended: Atomic = Atomic(true) - fileprivate let retrievePendingStartupLogs: Atomic<(() -> [Log.LogInfo])?> = Atomic(nil) + fileprivate let pendingLogsRetriever: Atomic<(() -> [Log.LogInfo])?> = Atomic(nil) public init( primaryPrefix: String, @@ -483,11 +483,7 @@ public class Logger { isSuspended = false // Retrieve any logs that were added during - return retrievePendingStartupLogs.mutate { retriever in - let result: [Log.LogInfo] = (retriever?() ?? []) - retriever = nil - return result - } + return pendingLogsRetriever.mutate { retriever in (retriever?() ?? []) } } // If we had an error loading the extension logs then actually log it