Skip to content

Commit 544ea4f

Browse files
committed
Add logging with SwiftLogger
1 parent 80ef17e commit 544ea4f

File tree

4 files changed

+56
-4
lines changed

4 files changed

+56
-4
lines changed

Package.resolved

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@ import PackageDescription
55

66
let package = Package(
77
name: "AlphaSwiftage",
8-
platforms: [.iOS(.v13), .macOS(.v10_15), .watchOS(.v6), .tvOS(.v13)],
8+
platforms: [.iOS(.v13), .macOS(.v11), .watchOS(.v6), .tvOS(.v13)],
99
products: [
1010
.library(
1111
name: "AlphaSwiftage",
1212
targets: ["AlphaSwiftage"]),
1313
],
1414
dependencies: [
1515
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.9.0")),
16-
.package(url: "https://github.com/WeTransfer/Mocker.git", .upToNextMajor(from: "3.0.0"))
16+
.package(url: "https://github.com/WeTransfer/Mocker.git", .upToNextMajor(from: "3.0.0")),
17+
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),
1718
],
1819
targets: [
1920
.target(
2021
name: "AlphaSwiftage",
2122
dependencies: [
22-
.product(name: "Alamofire", package: "Alamofire")
23+
.product(name: "Alamofire", package: "Alamofire"),
24+
.product(name: "Logging", package: "swift-log")
2325
]),
2426
.testTarget(
2527
name: "AlphaSwiftageTests",

Sources/AlphaSwiftage/Private/DataRequest+SerializingAlphaVantageResponse.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ extension DataRequest {
1818
}
1919
}
2020

21-
func serializingAlphaVantageWrappedResponse<Wrapper, T>(_ type: Wrapper.Type,_ unwrap: (Wrapper) -> T) async -> Result<T, AlphaVantageError> where Wrapper: Decodable {
21+
func serializingAlphaVantageWrappedResponse<Wrapper, T>(_ type: Wrapper.Type, _ unwrap: (Wrapper) -> T) async -> Result<T, AlphaVantageError> where Wrapper: Decodable {
2222
let wrappedResult: Result<Wrapper, AlphaVantageError> = await self.serializingAlphaVantageResponse()
2323

2424
switch wrappedResult {
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
//
2+
// SwiftLogger.swift
3+
//
4+
//
5+
// Created by Adam Borbas on 23/03/2024.
6+
//
7+
8+
import Foundation
9+
import Logging
10+
import Alamofire
11+
12+
private var logger: Logger = Logger(label: "com.adborbas.alphaswiftage")
13+
14+
class SwiftLogger: EventMonitor {
15+
let queue = DispatchQueue(label: "com.adborbas.alphaswiftage.swiftlogger")
16+
17+
func requestDidFinish(_ request: Request) {
18+
logger.debug("Request finised \(request.description)")
19+
}
20+
21+
func request<Value>(
22+
_ request: DataRequest,
23+
didParseResponse response: DataResponse<Value, AFError>
24+
) {
25+
guard let data = response.data else {
26+
logger.debug("Response missing data for request: \(request.urlAbsoluteString)")
27+
return
28+
}
29+
30+
if let json = try? JSONSerialization
31+
.jsonObject(with: data, options: .mutableContainers) {
32+
logger.debug("Response parsed for: \(request.urlAbsoluteString)\n\(json)")
33+
}
34+
}
35+
}
36+
37+
fileprivate extension DataRequest {
38+
var urlAbsoluteString: String {
39+
return convertible.urlRequest?.url?.absoluteString ?? ""
40+
}
41+
}

0 commit comments

Comments
 (0)