在苹果修复这个问题之前,
我创建了一个简单的扩展程序
import os
extension Logger {
init(subsystem: String = Bundle.main.bundleIdentifier ?? "", file: String = #file, function: String = #function, line: Int = #line, context: String) {
let category = "\(file):\(line):\(function), \(context)"
self.init(subsystem: subsystem, category: category )
}
}
用法:
Logger(context: "LoginFLow").debug("Hello World")
我们甚至可以删除参数名称,使其更加简洁:
import os
extension Logger {
init(subsystem: String = Bundle.main.bundleIdentifier ?? "", file: String = #file, function: String = #function, line: Int = #line, _ context: String) {
let category = "\(file):\(line):\(function), \(context)"
self.init(subsystem: subsystem, category: category )
}
}
用途:
Logger("LoginFLow").debug("Hello World")
注意:如果您希望使用原始的Logger,只需删除上下文参数,它将使用由苹果提供的原始初始化。
Logger().debug("Hello World")