美文网首页
关于使用os_log

关于使用os_log

作者: Jack专注 | 来源:发表于2018-07-13 15:21 被阅读0次

    ios10 之前只要使用了NSLog我们就能通过Xcode-->Window-->Devices能够查看我们的应用或者别人的应用打印的日志信息,ios10以后苹果更新了日志记录系统,上面的方式现在行不通了。在ios10以后我们可以使用os_log这个新提供的api来打印我们的日志。

    使用方法:


                os_log_t log = os_log_create("com.example.my-subsystem", "test")

                const char *staticString = "I am static string!";

                 const char *dynamicString = [[NSString stringWithFormat:@"I am %@!", @"dynamic string"]                   cStringUsingEncoding:NSUTF8StringEncoding];

                os_log(log, "Message: %s", staticString);

                os_log(log, "Message: %s", dynamicString); //动态字符串format不添加public的情况下,根据日志系统的规则会打印出<private>

               os_log(log, "Message: %{public}s", dynamicString); //这样就可以正常的打印日志了

              // 输出

             // [test] Message: I am static string!

             // [test] Message: <private>  

            // [test] Message: I am dynamic string! 

    我们的应用在之前可能有很多的地方使用了NSLog,但是我们不想一个一个的去修改我们可以这样:

    #define NSLog(FORMAT, ...) os_log(OS_LOG_DEFAULT,"%{public}@", [NSString stringWithFormat:FORMAT, ##__VA_ARGS__])


    查看日志的方法: 

    通过usb将手机连接到Mac上,打开Mac 上的控制台应用,可以看到左上角有个设备的选项,这个里面就有连接的手机的名字,如果Xcode打开了模拟器,模拟器也会显示在上面,点击手机的名字,就可以看到很多打印的日志,可以通过筛选,查看想要查看的进程的日志信息。

    相关文章

      网友评论

          本文标题:关于使用os_log

          本文链接:https://www.haomeiwen.com/subject/ovojpftx.html