Objective-C Log Handling

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

Objective-C Log Handling

NSLog method

In order to print logs, we use the NSLog method in Objective-C programming language which we have used right from the Hello World example.

Let us look at a simple code that would print the words "Hello World":

#import <Foundation/Foundation.h>

int main()
{
   NSLog(@"Hello, World! ");
   return 0;
}

Now, when we compile and run the program, we will get the following result.

2013-09-16 00:32:50.888 demo[16669] Hello, World! 

Disabling logs in Live apps

Since the NSLogs we use in our application, it will be printed in logs of device and it is not good to print logs in a live build. Hence, we use a type definition for printing logs and we can use them as shown below.

#import <Foundation/Foundation.h>

#if DEBUG == 0
#define DebugLog(...)
#elif DEBUG == 1
#define DebugLog(...) NSLog(__VA_ARGS__)
#endif

int main()
{
   DebugLog(@"Debug log, our custom addition gets
   printed during debug only" );
   NSLog(@"NSLog gets printed always" );    
   return 0;
}

Now, when we compile and run the program in debug mode, we will get the following result.