Skip to content

Commit 42a3a51

Browse files
committed
More detailed logging
1 parent ef6d211 commit 42a3a51

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

Sources/AlphaSwiftage/Private/AlphaVantageResponseSerializer.swift

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,25 @@ struct AlphaVantageResponseSerializer<T: Decodable>: ResponseSerializer {
1616
let result = try baseSerializer.serialize(request: request, response: response, data: data, error: error)
1717
return .success(result)
1818
} catch {
19-
if let data = data {
20-
do {
21-
let error = try JSONDecoder().decode(AlphaVantageAPIError.self, from: data)
22-
return .failure(.apiError(error))
23-
} catch {
24-
if let response = String(data: data, encoding: .utf8) {
25-
return .failure(.unexpectedResponse(response))
26-
}
19+
guard let data = data else {
20+
logger.error("Failed to serialise request and returned data is nil. \(error.localizedDescription)")
21+
return .failure(.unknown(error))
22+
}
23+
24+
logger.debug("Failed to serialise request: \(error.localizedDescription).")
25+
do {
26+
let error = try JSONDecoder().decode(AlphaVantageAPIError.self, from: data)
27+
logger.info("API Error: \(error.localizedDescription)")
28+
return .failure(.apiError(error))
29+
} catch {
30+
guard let response = String(data: data, encoding: .utf8) else {
31+
logger.error("Unexpected response not parsable to String.")
2732
return .failure(.unknown(error))
2833
}
34+
35+
logger.error("Unexpected response: \(response).")
36+
return .failure(.unexpectedResponse(response))
2937
}
30-
31-
return .failure(.unknown(error))
3238
}
3339
}
3440
}

Sources/AlphaSwiftage/Private/DataRequest+SerializingAlphaVantageResponse.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ extension DataRequest {
1414
do {
1515
return try await self.serializingResponse(using: AlphaVantageResponseSerializer<T>()).value
1616
} catch {
17-
fatalError("Error should not be thrown from AlphaVantageResponseSerializer but got: \(error.localizedDescription)")
17+
let message = "Error should not be thrown from AlphaVantageResponseSerializer but got: \(error.localizedDescription)"
18+
logger.critical("\(message)")
19+
fatalError(message)
1820
}
1921
}
2022

Sources/AlphaSwiftage/Private/SwiftLogger.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import Foundation
99
import Logging
1010
import Alamofire
1111

12-
private var logger: Logger = Logger(label: "com.adborbas.alphaswiftage")
12+
var logger: Logger = Logger(label: "com.adborbas.alphaswiftage")
1313

1414
class SwiftLogger: EventMonitor {
1515
let queue = DispatchQueue(label: "com.adborbas.alphaswiftage.swiftlogger")

0 commit comments

Comments
 (0)