MCHTTPRequestLogger is an extension to AFNetworking that logs every requests and responses as they are sent and received. It is a lot more verbose than AFHTTPRequestOperationLogger, by design.
Just add the following code to your UIApplicationDelegate, in the method -application:didFinishLaunchingWithOptions: and you should see extensive information for each requests/responses in your Xcode console.
[[MCHTTPRequestLogger sharedLogger] startLogging];
// Set the JSONOutputStyle property to have pretty printed JSON output
[[MCHTTPRequestLogger sharedLogger] setJSONOutputStyle:MCHTTPRequestLoggerJSONOutputStylePrettyPrinted];Add the MCHTTPRequestLoggerDefaultHeaderIgnore HTTP header to the NSMutableURLRequest like this:
[request addValue:@"YES" forHTTPHeaderField:MCHTTPRequestLoggerDefaultHeaderIgnore];The value for the header is not important. To disable the logging, MCHTTPRequestLogger search only the presence of the header.
- This code has been known to work on iOS 5.x+.
- This code uses Automatic Reference Counting, if your project does not use ARC, you must add the
-fobjc-arccompiler flag to each implementation files inTarget Settings > Build Phases > Compile Source. - This code also uses the literals syntax, so at least Xcode 4.5 is required.
If you're using CocoaPods, there's nothing simpler.
Add the following to your Podfile
and run pod install
pod 'MCHTTPRequestLogger'
Don't forget to #import "MCHTTPRequestLogger.h" where it's needed.
MCHTTPRequestLogger is © 2013 Mirego and may be freely
distributed under the New BSD license.
See the LICENSE.md file.
Mirego is a team of passionate people who believe that work is a place where you can innovate and have fun. We proudly build mobile applications for iPhone, iPad, Android, Blackberry, Windows Phone and Windows 8 in beautiful Quebec City.
We also love open-source software and we try to extract as much code as possible from our projects to give back to the community.