-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMyTestLogProvider.swift
36 lines (27 loc) · 1.11 KB
/
MyTestLogProvider.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// MyTestLogProvider.swift
// Example
//
// Created by Alexander Weiß on 13.06.20.
// Copyright © 2020 Alexander Weiß. All rights reserved.
//
import Foundation
import LoggingKit
class MyTestLogProvider: LogProvider {
static var dateFormatter: DateFormatter = {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd HH:mm:ssSSS"
df.locale = Locale.current
df.timeZone = TimeZone.current
return df
}()
func log(_ event: LogType, _ message: @autoclosure () -> Any?, logCategory: KeyPath<LogCategories, LogCategory>, fileName: StaticString, functionName: StaticString, lineNumber: Int) {
guard let message = message() else {
return
}
let category = LoggingCategories[logCategory]
let timeString = MyTestLogProvider.dateFormatter.string(from: Date())
let fileString = "[\((String(describing: fileName) as NSString).lastPathComponent):\(lineNumber)] \(functionName)"
print("\(timeString) [\(event.rawValue)] - [\(category._key)] - \(fileString) > \(message)")
}
}