From 4262a6a8ac18413d2e8066006b71805bc6dd4033 Mon Sep 17 00:00:00 2001 From: Neil Anderson Date: Wed, 8 Mar 2023 11:10:50 -0800 Subject: [PATCH 1/2] Register fallback directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fallback was never being registered. Once registered it seems to be configured and allow the user to enable remote logging etc. There may be assumptions elsewhere as the logs still don’t seem to persist. This likely requires more investigation. --- Sources/Pulse/LoggerStore/LoggerStore.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Sources/Pulse/LoggerStore/LoggerStore.swift b/Sources/Pulse/LoggerStore/LoggerStore.swift index 59fcbffe4..dda56520a 100644 --- a/Sources/Pulse/LoggerStore/LoggerStore.swift +++ b/Sources/Pulse/LoggerStore/LoggerStore.swift @@ -70,11 +70,14 @@ public final class LoggerStore: @unchecked Sendable { private static func makeDefault() -> LoggerStore { let storeURL = URL.logs.appending(directory: "current.pulse") - guard let store = try? LoggerStore(storeURL: storeURL, options: [.create, .sweep]) else { - return LoggerStore(inMemoryStore: storeURL) // Right side should never happen + if let store = try? LoggerStore(storeURL: storeURL, options: [.create, .sweep]) { + register(store: store) + return store + } else { + let memoryStore = LoggerStore(inMemoryStore: storeURL) // Right side should never happen + register(store: memoryStore) + return memoryStore } - register(store: store) - return store } // MARK: Initialization From 63d4f3064812cc9293c4131769afd0ea0f2ac07c Mon Sep 17 00:00:00 2001 From: Neil Anderson Date: Wed, 8 Mar 2023 11:11:29 -0800 Subject: [PATCH 2/2] Caches directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the caches directory for appleTV hardware as this is the only available directory on tvOS. It is more temporary, and often is cleared on backgrounding, but at least it’s available. --- Sources/Pulse/Helpers/Extensions.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sources/Pulse/Helpers/Extensions.swift b/Sources/Pulse/Helpers/Extensions.swift index 27e41e81e..26870154d 100644 --- a/Sources/Pulse/Helpers/Extensions.swift +++ b/Sources/Pulse/Helpers/Extensions.swift @@ -34,7 +34,13 @@ extension URL { } static var logs: URL { - var url = Files.urls(for: .libraryDirectory, in: .userDomainMask).first? + var searchPath = FileManager.SearchPathDirectory.documentDirectory + + #if os(tvOS) + searchPath = .cachesDirectory + #endif + + var url = Files.urls(for: searchPath, in: .userDomainMask).first? .appending(directory: "Logs") .appending(directory: "com.github.kean.logger") ?? URL(fileURLWithPath: "/dev/null") if !Files.createDirectoryIfNeeded(at: url) {