Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone RestKit how to enable RKLogDebug?

I'm trying to debug RestKit object mapping and noticed that there are calls to RKLogDebug throughout the code, but it appears that that macro is undefined somewhere. How can I enable it?

like image 562
Alex Stone Avatar asked Apr 26 '12 15:04

Alex Stone


2 Answers

You want to add something like this:

    RKLogConfigureByName("RestKit", RKLogLevelWarning); 
    RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
    RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);

to your code. See RKLog.h for the various levels. It is pretty trick.

N.B. this supports a wildcard at the end so, e.g.,

    RKLogConfigureByName("*", RKLogLevelTrace); // set all logs to trace,
    RKLogConfigureByName("RestKit*", RKLogLevelWarning); // set all RestKit logs to warning (leaving the app-specific log untouched). 

– Thanks Kevin!

For Swift user use this syntex:

    RKlcl_configure_by_name("RestKit/Network", RKlcl_vTrace.rawValue)  
    RKlcl_configure_by_na`enter code here`me("RestKit/ObjectMapping", RKlcl_vOff.rawValue) 

– Thanks Darshit!

like image 148
Paul Cezanne Avatar answered Nov 02 '22 16:11

Paul Cezanne


As described in first answer you can configure your app to specific component by calling RKLogConfigureByName.

You can also configure RestKit for specific component using Environment Variables in Xcode scheme. This is useful especially when you have your app building continuously for different environments.

Here's detailed explanation of RestKit logging http://restkit-tutorials.com/logging-in-restkit-debug-tips/

like image 34
Alex Kurkin Avatar answered Nov 02 '22 16:11

Alex Kurkin