Home > DeveloperSection > Blogs > Objective-C Log Handling

Objective-C Log Handling


iPhone iPhone  Ios  Objective C 
Ratings:
0 Comment(s)
 664  View(s)
Rate this:



Objective-C Log Handling  




Previously we learn the use of preprocessors in ObjC : Objective-C : Preprocessor

 

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! \n");
   return 0;
}

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

2015-07-13 11:15:13.151 demo[32654] 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.

2015-07-13 11:18:24.255 demo[618] Debug log, our custom addition gets printed during debug only

2015-07-13 11:18:24.255 demo[618] NSLog gets printed always

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

2015-07-13 11:18:24.264 demo[1108] NSLog gets printed always

 

Next, we will learn about : Objective-C : Typedef


Don't want to miss updates? Please click the below button!

Follow MindStick