i have always found the built in
NSLo
g(fmt, ...)
a bit too limited in functionality. it is really a pain if one use it in a bit moderate project with Console full of swinging lines in a debug mode.so i decided to search and use a better NSLog method. i found many alternatives but to me the following 2 stand out of the crowd as a winners.
The main killing feature of these two projects was to use it on networking. But you may wonder how this can be the the feature. but let me tell you it could be the life saver.
Consider a scenario where you are using threads in the app and you are starting and stopping threads at your will. The threads are stopping in the debug binary but when you prepare a adHoc binary and install it using iTunes on the phone, somehow the apps start misbehaving. on further investigation you suspect that threads are not being stopped normally. at that time you will badly want to debug the binary in the adHoc distribution. but its not possible using the built in NSLog. at that time the Networking debug mode will come at rescue.
i was once in this scenario and at that time i wrote my own little logging utility which sends the logs over the network to the little mac app. but these two logging frameworks are too good to compare to that.
Here is the overview so some of the great features it offers
- Debugging over network.
- Different levels of logging.
- Turning on/off logging in release vs debug mode.
- Color highlighting for different levels of logging in SOSmax.
- UIImage Logging in NSLogger, yes yo listened it right image logging.
- File specific scope for logging in SOSmax.
i personally prefer SOSmax because it offers too much but one feature that i still want in SOSmax is the UIimage/binary data logging of NSLogger. Expect that its perfect !