I have created TestProject in Swift and added Cocoalumberjack using CocoaPod. Initialized Cocoalumberjack logger to add logs to console and file. Please find the initializer code snippet below.
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)
When i printed test message, Thread id and process id is missing in logs added in file but present in console.
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
I need thread id and process id (81343:2525521) also to be added in file logs. Could someone help me in fixing this?
Cocoapod version : 1.5.3
Cocoalumberjack: CocoaLumberjack/Swift (3.4.2)
You need a custom format for it. Here a sample for threadID and timestamp
class MyCustom: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
return "\(logMessage.threadID) - \(logMessage.timestamp)"
}
}
Then adding to your file logger:
fileLogger.logFormatter = MyCustom()