@@ -90,13 +90,9 @@ public func logger(_ format: String? = nil, level: Logger.Level = .info,
9090 msg += " - \( info. responseTime) ms "
9191
9292 case formats [ " dev " ] !:
93- msg += " \( req. method) \( info. paddedURL) "
94- msg += " \( info. colorStatus) \( info. clen) "
95- let rts = " \( info. responseTime) "
96- let rt = rts. count < 3
97- ? rts. padding ( toLength: 3 , withPad: " " , startingAt: 0 )
98- : rts
99- msg += " - \( rt) ms "
93+ msg += " \( info. paddedMethod) \( info. paddedURL) "
94+ msg += " \( info. colorStatus) \( info. paddedClen) "
95+ msg += " - \( info. paddedResponseTime) ms "
10096
10197 case formats [ " tiny " ] !:
10298 msg += " \( req. method) \( url) "
@@ -202,17 +198,45 @@ private struct LogInfoProvider {
202198 return colorStatus
203199 }
204200
201+ static var methodPadLen = 4
202+ var paddedMethod : String {
203+ let m = " \( req. method) "
204+ let len = m. count
205+ if len > LogInfoProvider . methodPadLen { LogInfoProvider . methodPadLen = len }
206+ let padlen = LogInfoProvider . methodPadLen
207+ let pad = String ( repeating: " " , count: max ( padlen - len, 0 ) )
208+ return " \( req. method) \( pad) "
209+ }
210+
205211 static var urlPadLen = 28
206212 var paddedURL : String {
207- let oldLength = url. count
208- if oldLength > LogInfoProvider . urlPadLen {
209- LogInfoProvider . urlPadLen = oldLength + ( oldLength % 2 )
213+ let len = url. count
214+ if len > LogInfoProvider . urlPadLen {
215+ LogInfoProvider . urlPadLen = len + ( len % 2 )
210216 }
211217 let padlen = LogInfoProvider . urlPadLen
212-
213- // right pad :-)
214- let s = Array < Character > ( repeating: " " , count: ( padlen - oldLength) )
215- return url + String( s)
218+ let pad = String ( repeating: " " , count: max ( padlen - len, 0 ) )
219+ return " \( url) \( pad) "
220+ }
221+
222+ static var clenPadLen = 4
223+ var paddedClen : String {
224+ let s = clen
225+ let len = s. count
226+ if len > LogInfoProvider . clenPadLen { LogInfoProvider . clenPadLen = len }
227+ let padlen = LogInfoProvider . clenPadLen
228+ let pad = String ( repeating: " " , count: max ( padlen - len, 0 ) )
229+ return " \( pad) \( s) "
230+ }
231+
232+ static var rtPadLen = 3
233+ var paddedResponseTime : String {
234+ let s = responseTime
235+ let len = s. count
236+ if len > LogInfoProvider . rtPadLen { LogInfoProvider . rtPadLen = len }
237+ let padlen = LogInfoProvider . rtPadLen
238+ let pad = String ( repeating: " " , count: max ( padlen - len, 0 ) )
239+ return " \( pad) \( s) "
216240 }
217241}
218242
0 commit comments