我已经在Swift中创建了TestProject,并使用CocoaPod添加了Cocoalumberjack。初始化Cocoalumberjack记录器,以将日志添加到控制台和文件。请在下面找到初始化程序代码段。
DDLog.add(DDTTYLogger.sharedInstance, with: DDLogLevel.verbose) // TTY = Xcode console
let fileLogger: DDFileLogger = DDFileLogger() // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24 // 24 hours
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
DDLog.add(fileLogger)
当我打印测试消息时,在文件中添加但在控制台中存在的日志中缺少线程ID和进程ID。
DDLogDebug("Test message")
控制台日志:2019-03-03 13:28:00:427 TestProject [
81343:2525521
]测试消息文件日志:2019/03/03 13:28:00:427测试消息
我还需要在文件日志中添加线程ID和进程ID(81343:2525521)。 有人可以帮我解决这个问题吗?
Cocoapod版本:1.5.3
可可伐木工人:CocoaLumberjack / Swift(3.4.2)
答案 0 :(得分:1)
您需要一种自定义格式。这里是threadID和时间戳的示例
class MyCustom: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
return "\(logMessage.threadID) - \(logMessage.timestamp)"
}
}
然后将其添加到文件记录器中:
fileLogger.logFormatter = MyCustom()