iosobjective-cswiftnslog

Why print() in Swift does not log the time stamp as NSLog in objective C


From background of Objective C when I use NSLog() it prefixes the text with the date time stamp, but when I use print() on Swift it only prints the text

So it there is a way to make it print the time stamp as well, or am I doing some thing wrong?


Solution

  • Because print is not NSLog. It is as simple as that.

    NSLog is a logging tool in Foundation that writes to the Apple System Log facility which appears on the console.

    print(…) is a print function in the Swift Standard Library that writes to standard out, which appears on the console in debug sessions.

    You could add Date() to your print parameter to print the current time and date. (Or Date().description(with: Locale.current) to get it in your local time zone.)

    Or you could just use NSLog which is available in Swift too (if you import Foundation).