Skip to content

Commit 1245262

Browse files
committed
Improve log padding
...
1 parent 33c74f8 commit 1245262

File tree

1 file changed

+38
-14
lines changed

1 file changed

+38
-14
lines changed

Sources/connect/Logger.swift

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)