iOS Cocoalumberjack:ThreadId 和 ProcessId 未打印在文件记录器中,但打印在 TTY 控制台日志中
iOS Cocoalumberjack: ThreadId and ProcessId not printed in File Logger but prints in TTY Console logs
我在 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")
Console log: 2019-03-03 13:28:00:427 TestProject[81343:2525521
] Test message
File Log: 2019/03/03 13:28:00:427 Test message
我还需要将线程 ID 和进程 ID (81343:2525521) 添加到文件日志中。
有人可以帮我解决这个问题吗?
Cocoapod 版本:1.5.3
Cocoalumberjack:CocoaLumberjack/Swift (3.4.2)
您需要自定义格式。这是 threadID 和时间戳
的示例
class MyCustom: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
return "\(logMessage.threadID) - \(logMessage.timestamp)"
}
}
然后添加到您的文件记录器:
fileLogger.logFormatter = MyCustom()
我在 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")
Console log: 2019-03-03 13:28:00:427 TestProject[
81343:2525521
] Test messageFile Log: 2019/03/03 13:28:00:427 Test message
我还需要将线程 ID 和进程 ID (81343:2525521) 添加到文件日志中。 有人可以帮我解决这个问题吗?
Cocoapod 版本:1.5.3
Cocoalumberjack:CocoaLumberjack/Swift (3.4.2)
您需要自定义格式。这是 threadID 和时间戳
的示例class MyCustom: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
return "\(logMessage.threadID) - \(logMessage.timestamp)"
}
}
然后添加到您的文件记录器:
fileLogger.logFormatter = MyCustom()