Objective-C 日志处理

NSLog 方法

为了打印日志,我们使用 Objective-C 编程语言中的 NSLog 方法,我们在 Hello World 实例中使用了该方法。

让我们看看一个简单的代码,它可以打印 "Hello World":

  1. #import <Foundation/Foundation.h>
  2. int main() {
  3. NSLog(@"Hello, World! \n");
  4. return 0;
  5. }

结果如下:

  1. 2022-07-07 16:32:50.888 demo[16669] Hello, World!

禁用活动应用中的日志

由于我们在应用程序中使用的 NSLogs,它将打印在设备的日志中,在运行中打印日志是不好的。因此,我们使用类型定义来打印日志,我们可以使用它们,如下所示。

  1. #import <Foundation/Foundation.h>
  2. #if DEBUG == 0
  3. #define DebugLog(...)
  4. #elif DEBUG == 1
  5. #define DebugLog(...) NSLog(__VA_ARGS__)
  6. #endif
  7. int main() {
  8. DebugLog(@"Debug log, our custom addition gets \
  9. printed during debug only" );
  10. NSLog(@"NSLog gets printed always" );
  11. return 0;
  12. }

现在,当我们在调试模式下编译和运行程序时,我们将得到以下结果。

  1. 2022-07-07 16:47:07.723 demo[618] Debug log, our custom addition gets printed during debug only
  2. 2022-07-07 16:47:07.723 demo[618] NSLog gets printed always

现在,当我们在调试模式下编译和运行程序时,我们将得到以下结果。

  1. 2022-07-07 16:47:45.248 demo[3158] NSLog gets printed always