I posted an answer to a similar question over here: Including custom data into iOS crash dumps
NSLog should not be used for detailed logging in production apps, since it slows down your application. NSLog opens a connection to the system logger every single time it is being called and does that synchronously, so blocking the current thread.
Rather use CocoaLumberjack, which logs asynchronously, is very very fast and provides log level support out of the bugs which even can be changed at runtime with some additional efforts (see it's wiki pages). In addition it supports multiple output destinations, like files, console or Xcode console and more.
Another great logging library is NSLogger, which provides a Mac application to stream the log data via Bonjour. Both these libraries can be used together, meaning streaming log data from CocoaLumberjack to the NSLogger Mac app by using this connector: https://github.com/steipete/NSLogger-CocoaLumberjack-connector