I posted an answer to a similar question here: Including user data in iOS crash dumps
NSLog should not be used for detailed logging in production applications, as this slows down your application. NSLog opens a connection to the registrar every time it is called, and does it synchronously, so it blocks the current thread.
Rather, use CocoaLumberjack , which logs asynchronously, very fast, and provides log level support from errors that can even be changed at run time with some extra effort (see its wiki page). In addition, it supports several output targets, such as files, Xcode console or console, etc.
Another great NSLogger logging library that provides a Mac app for streaming log data through Bonjour. Both of these libraries can be used together, which means streaming log data from CocoaLumberjack to the NSLogger Mac application using this connector: https://github.com/steipete/NSLogger-CocoaLumberjack-connector
Kerni source share