@@ -32,6 +32,16 @@ public protocol APNSwiftClient {
3232}
3333
3434extension APNSwiftClient {
35+ private func logger( from loggerConfig: LoggerConfig ) -> Logger ? {
36+ switch loggerConfig {
37+ case . none:
38+ return nil
39+ case . clientLogger:
40+ return self . logger
41+ case . custom( let customLogger) :
42+ return customLogger
43+ }
44+ }
3545 /**
3646 APNSwiftConnection send method. Sends a notification to the desired deviceToken.
3747 - Parameter payload: the alert to send.
@@ -60,7 +70,7 @@ extension APNSwiftClient {
6070 priority: Int ? = nil ,
6171 collapseIdentifier: String ? = nil ,
6272 topic: String ? = nil ,
63- logger : Logger ? = nil ,
73+ loggerConfig : LoggerConfig = . clientLogger ,
6474 apnsID: UUID ? = nil ) -> EventLoopFuture < Void > {
6575 return self . send ( APNSwiftPayload ( alert: alert) ,
6676 pushType: pushType,
@@ -70,7 +80,7 @@ extension APNSwiftClient {
7080 priority: priority,
7181 collapseIdentifier: collapseIdentifier,
7282 topic: topic,
73- logger : logger ?? self . logger ,
83+ loggerConfig : loggerConfig ,
7484 apnsID: apnsID)
7585 }
7686
@@ -102,7 +112,7 @@ extension APNSwiftClient {
102112 priority: Int ? = nil ,
103113 collapseIdentifier: String ? = nil ,
104114 topic: String ? = nil ,
105- logger : Logger ? = nil ,
115+ loggerConfig : LoggerConfig = . clientLogger ,
106116 apnsID: UUID ? = nil ) -> EventLoopFuture < Void > {
107117 return self . send ( BasicNotification ( aps: payload) ,
108118 pushType: pushType,
@@ -112,7 +122,7 @@ extension APNSwiftClient {
112122 priority: priority,
113123 collapseIdentifier: collapseIdentifier,
114124 topic: topic,
115- logger : logger ?? self . logger ,
125+ loggerConfig : loggerConfig ,
116126 apnsID: apnsID)
117127 }
118128
@@ -144,7 +154,7 @@ extension APNSwiftClient {
144154 priority: Int ? = nil ,
145155 collapseIdentifier: String ? = nil ,
146156 topic: String ? = nil ,
147- logger : Logger ? = nil ,
157+ loggerConfig : LoggerConfig = . clientLogger ,
148158 apnsID: UUID ? = nil ) -> EventLoopFuture < Void >
149159 where Notification: APNSwiftNotification {
150160 do {
@@ -156,7 +166,7 @@ extension APNSwiftClient {
156166 priority: priority,
157167 collapseIdentifier: collapseIdentifier,
158168 topic: topic,
159- logger : logger ?? self . logger ,
169+ loggerConfig : loggerConfig ,
160170 apnsID: apnsID)
161171 } catch {
162172 return self . eventLoop. makeFailedFuture ( error)
@@ -172,7 +182,7 @@ extension APNSwiftClient {
172182 priority: Int ? ,
173183 collapseIdentifier: String ? ,
174184 topic: String ? ,
175- logger : Logger ? = nil ,
185+ loggerConfig : LoggerConfig = . clientLogger ,
176186 apnsID: UUID ? = nil ) -> EventLoopFuture < Void >
177187 where Bytes : Collection , Bytes. Element == UInt8 {
178188 var buffer = ByteBufferAllocator ( ) . buffer ( capacity: payload. count)
@@ -184,7 +194,7 @@ extension APNSwiftClient {
184194 priority: priority,
185195 collapseIdentifier: collapseIdentifier,
186196 topic: topic,
187- logger: logger ?? self . logger ,
197+ logger: logger ( from : loggerConfig ) ,
188198 apnsID: apnsID)
189199 }
190200
@@ -195,7 +205,7 @@ extension APNSwiftClient {
195205 priority: Int ? = nil ,
196206 collapseIdentifier: String ? = nil ,
197207 topic: String ? = nil ,
198- logger : Logger ? = nil ,
208+ loggerConfig : LoggerConfig = . clientLogger ,
199209 apnsID: UUID ? = nil ) -> EventLoopFuture < Void > {
200210 return self . send (
201211 rawBytes: payload,
@@ -205,11 +215,17 @@ extension APNSwiftClient {
205215 priority: priority,
206216 collapseIdentifier: collapseIdentifier,
207217 topic: topic,
208- logger: logger ?? self . logger ,
218+ logger: logger ( from : loggerConfig ) ,
209219 apnsID: apnsID)
210220 }
211221}
212222
213223private struct BasicNotification : APNSwiftNotification {
214224 let aps : APNSwiftPayload
215225}
226+
227+ public enum LoggerConfig {
228+ case none
229+ case clientLogger
230+ case custom( Logger )
231+ }
0 commit comments