Skip to content

Commit 13e911f

Browse files
authored
Merge pull request #46 from GoodRequest/remove-logger
Revert duplicate commit "feat: Remove GoodLogger dependency"
2 parents d3c2086 + 103ac5a commit 13e911f

File tree

17 files changed

+161
-147
lines changed

17 files changed

+161
-147
lines changed

GoodNetworking-Sample/GoodNetworking-Sample.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
09A9ECA12C48115A0032C359 /* GoodSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 09A9ECA02C48115A0032C359 /* GoodSwiftUI */; };
1818
09A9ECA32C4811B00032C359 /* UserListScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A9ECA22C4811B00032C359 /* UserListScreen.swift */; };
1919
09A9ECAE2C4AC9810032C359 /* JobUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A9ECAD2C4AC9810032C359 /* JobUser.swift */; };
20-
3F8799A12DF703B000B4286B /* SampleLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F8799A02DF703B000B4286B /* SampleLogger.swift */; };
2120
5D4200142CBEE7ED006C4292 /* UserDefaultsExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4200132CBEE7ED006C4292 /* UserDefaultsExtensions.swift */; };
2221
5D4200192CBF97CC006C4292 /* ServerPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D4200182CBF97CC006C4292 /* ServerPickerView.swift */; };
2322
5D4A967C299C190B00DFAEAE /* GoodNetworking in Frameworks */ = {isa = PBXBuildFile; productRef = 5D4A967B299C190B00DFAEAE /* GoodNetworking */; };
@@ -36,7 +35,6 @@
3635
09A9EC992C48015C0032C359 /* SampleEndpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleEndpoint.swift; sourceTree = "<group>"; };
3736
09A9ECA22C4811B00032C359 /* UserListScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserListScreen.swift; sourceTree = "<group>"; };
3837
09A9ECAD2C4AC9810032C359 /* JobUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JobUser.swift; sourceTree = "<group>"; };
39-
3F8799A02DF703B000B4286B /* SampleLogger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleLogger.swift; sourceTree = "<group>"; };
4038
5D4200132CBEE7ED006C4292 /* UserDefaultsExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsExtensions.swift; sourceTree = "<group>"; };
4139
5D4200182CBF97CC006C4292 /* ServerPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerPickerView.swift; sourceTree = "<group>"; };
4240
5D4A967A299C18FB00DFAEAE /* GoodNetworking */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = GoodNetworking; path = ..; sourceTree = "<group>"; };
@@ -94,7 +92,6 @@
9492
09A9EC942C4800B90032C359 /* SampleNetworkSessions.swift */,
9593
09A9EC992C48015C0032C359 /* SampleEndpoint.swift */,
9694
5D7C80642CA2CDB900116E10 /* SampleSelectableBaseUrlProvider.swift */,
97-
3F8799A02DF703B000B4286B /* SampleLogger.swift */,
9895
);
9996
path = Managers;
10097
sourceTree = "<group>";
@@ -253,7 +250,6 @@
253250
buildActionMask = 2147483647;
254251
files = (
255252
09A9ECA32C4811B00032C359 /* UserListScreen.swift in Sources */,
256-
3F8799A12DF703B000B4286B /* SampleLogger.swift in Sources */,
257253
09A9EC9A2C48015C0032C359 /* SampleEndpoint.swift in Sources */,
258254
09A9EC8F2C47FF8E0032C359 /* UserScreen.swift in Sources */,
259255
EACEC3FA29953DCB008242AA /* AppDelegate.swift in Sources */,

GoodNetworking-Sample/GoodNetworking-Sample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

GoodNetworking-Sample/GoodNetworking-Sample/Managers/SampleLogger.swift

Lines changed: 0 additions & 26 deletions
This file was deleted.

GoodNetworking-Sample/GoodNetworking-Sample/Managers/SampleNetworkSessions.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,7 @@ extension NetworkSession {
3535
let urlProvider = CustomBaseUrlProvider(serverCollection: prodServerCollection)
3636
#endif
3737
baseURLProvider = urlProvider
38-
NetworkSession.sampleSession = NetworkSession(
39-
baseUrl: urlProvider,
40-
configuration: .default(logger: SampleLogger()),
41-
logger: SampleLogger()
42-
)
38+
NetworkSession.sampleSession = NetworkSession(baseUrl: urlProvider)
4339
}
4440

4541
}

GoodNetworking-Sample/GoodNetworking-Sample/Screens/UserListScreen.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ struct UserListScreen: View {
1313

1414
// MARK: - State
1515

16-
@State private var users = Resource(
17-
session: .sampleSession,
18-
remote: RemoteUser.self,
19-
logger: SampleLogger()
20-
)
16+
@State private var users = Resource(session: .sampleSession, remote: RemoteUser.self)
2117
@State private var didLoadList = false
2218
@State private var presentServerSettings = false
2319

Package.resolved

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ let package = Package(
2424
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.10.0")),
2525
.package(url: "https://github.com/Alamofire/AlamofireImage.git", .upToNextMajor(from: "4.2.0")),
2626
.package(url: "https://github.com/KittyMac/Sextant.git", .upToNextMinor(from: "0.4.31")),
27+
.package(url: "https://github.com/GoodRequest/GoodLogger.git", .upToNextMajor(from: "1.2.4"))
2728
],
2829
targets: [
2930
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
@@ -34,6 +35,7 @@ let package = Package(
3435
.product(name: "Alamofire", package: "Alamofire"),
3536
.product(name: "AlamofireImage", package: "AlamofireImage"),
3637
.product(name: "Sextant", package: "Sextant"),
38+
.product(name: "GoodLogger", package: "GoodLogger")
3739
],
3840
path: "./Sources/GoodNetworking",
3941
resources: [.copy("PrivacyInfo.xcprivacy")],

Sources/GoodNetworking/Executor/DeduplicatingRequestExecutor.swift

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import Alamofire
99
import Foundation
10+
import GoodLogger
1011

1112
/// A request executor that deduplicates concurrent requests and provides caching capabilities.
1213
///
@@ -36,17 +37,27 @@ public final actor DeduplicatingRequestExecutor: RequestExecuting, Sendable, Ide
3637
/// A dictionary storing currently running or cached request tasks
3738
public static var runningRequestTasks: [String: ExecutorTask] = [:]
3839

39-
/// A private property that provides the logger.
40-
private var logger: NetworkLogger?
40+
/// A private property that provides the appropriate logger based on the iOS version.
41+
///
42+
/// For iOS 14 and later, it uses `OSLogLogger`. For earlier versions, it defaults to `PrintLogger`.
43+
private var logger: GoodLogger
4144

4245
/// Creates a new deduplicating request executor.
4346
///
4447
/// - Parameters:
4548
/// - taskId: A unique identifier for deduplicating requests
4649
/// - cacheTimeout: The duration in seconds for which successful responses are cached. Defaults to 6 seconds.
4750
/// Set to 0 to disable caching.
48-
public init(taskId: String? = nil, cacheTimeout: TimeInterval = 6, logger: NetworkLogger? = nil) {
49-
self.logger = logger
51+
public init(taskId: String? = nil, cacheTimeout: TimeInterval = 6, logger: GoodLogger? = nil) {
52+
if let logger {
53+
self.logger = logger
54+
} else {
55+
if #available(iOS 14, *) {
56+
self.logger = OSLogLogger(logMetaData: false)
57+
} else {
58+
self.logger = PrintLogger(logMetaData: false)
59+
}
60+
}
5061
self.taskId = taskId
5162
self.cacheTimeout = cacheTimeout
5263
}
@@ -86,7 +97,7 @@ public final actor DeduplicatingRequestExecutor: RequestExecuting, Sendable, Ide
8697
}
8798

8899
if let runningTask = DeduplicatingRequestExecutor.runningRequestTasks[taskId] {
89-
logger?.logNetworkEvent(message: "🚀 taskId: \(taskId) Cached value used", level: .info, fileName: #file, lineNumber: #line)
100+
logger.log(message: "🚀 taskId: \(taskId) Cached value used", level: .info)
90101
return await runningTask.task.value
91102
} else {
92103
let requestTask = ExecutorTask.TaskType {
@@ -105,7 +116,7 @@ public final actor DeduplicatingRequestExecutor: RequestExecuting, Sendable, Ide
105116
}
106117
}
107118

108-
logger?.logNetworkEvent(message: "🚀 taskId: \(taskId): Task created", level: .info, fileName: #file, lineNumber: #line)
119+
logger.log(message: "🚀 taskId: \(taskId): Task created", level: .info)
109120

110121
let executorTask: ExecutorTask = ExecutorTask(
111122
taskId: taskId,
@@ -118,7 +129,7 @@ public final actor DeduplicatingRequestExecutor: RequestExecuting, Sendable, Ide
118129
let dataResponse = await requestTask.value
119130
switch dataResponse.result {
120131
case .success:
121-
logger?.logNetworkEvent(message: "🚀 taskId: \(taskId): Task finished successfully", level: .info, fileName: #file, lineNumber: #line)
132+
logger.log(message: "🚀 taskId: \(taskId): Task finished successfully", level: .info)
122133

123134
if cacheTimeout > 0 {
124135
DeduplicatingRequestExecutor.runningRequestTasks[taskId]?.finishDate = Date()
@@ -129,7 +140,7 @@ public final actor DeduplicatingRequestExecutor: RequestExecuting, Sendable, Ide
129140
return dataResponse
130141

131142
case .failure:
132-
logger?.logNetworkEvent(message: "🚀 taskId: \(taskId): Task finished with error", level: .error, fileName: #file, lineNumber: #line)
143+
logger.log(message: "🚀 taskId: \(taskId): Task finished with error", level: .error)
133144
DeduplicatingRequestExecutor.runningRequestTasks[taskId] = nil
134145
return dataResponse
135146
}

Sources/GoodNetworking/Executor/RequestExecuting.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import Alamofire
99
import Foundation
10+
import GoodLogger
1011

1112
/// A protocol defining the interface for executing network requests.
1213
///

Sources/GoodNetworking/GRImageDownloader.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public actor GRImageDownloader {
4040
/// - sessionConfiguration: The GRSessionConfiguration used to create the URLSession and Session. (default: .default)
4141
/// - downloaderConfiguration: The GRImageDownloaderConfiguration used to set the max concurrent operation count and max active downloads.
4242
static func setupAuthorizedImageDownloader(
43-
sessionConfiguration: NetworkSessionConfiguration = .default(),
43+
sessionConfiguration: NetworkSessionConfiguration = .default,
4444
downloaderConfiguration: GRImageDownloaderConfiguration
4545
) {
4646
let imageDownloaderQueue = DispatchQueue(label: C.imageDownloaderDispatchQueueKey)

0 commit comments

Comments
 (0)