获取调试日志 - iPhone

时间:2012-02-28 06:57:38

标签: android iphone ios logging crash-reports

在Android上我使用android.util.Log在我的应用程序中登录,在开发期间我使用adb logcat或Eclipse来查看日志 - 我更多地使用它然后调试......

在设备上我可以保存我的代码中的日志文件或使用Android Market中的某些应用程序来保存日志 - 例如aLogCat

现在我可以在iPhone上做同样的事吗?我可以使用NSLog(@"message");,但是我可以轻松地从我的应用程序中保存日志文件并访问它吗?那有什么办法吗?

此致 斯登

3 个答案:

答案 0 :(得分:2)

这是NSFoundation reference

的NSLog:

  

只需调用NSLogv,向其传递可变数量的参数。

NSLogv:

  

将错误消息记录到Apple系统日志工具(请参阅man 3 asl)。如果STDERR_FILENO文件描述符已被重定向远离默认值或将转到tty,则它也将被写入。如果要将输出定向到其他位置,则需要使用自定义日志记录工具。

因此,只需将文件描述符“stderr”(2)重定向到自定义文件,您将获得使用该文件中的NSLog打印的所有内容。

This似乎正是您想要的。

请注意,如果要在连接到调试器时获取控制台上的日志,可以在此处包装代码以避免重定向:

if (!isatty(STDERR_FILENO)) { // Not connected to any terminal
    // your redirection code
}

答案 1 :(得分:1)

您可以从Organizer-> Device->您的设备 - >控制台访问控制台日志。

如果功能不够强大,请考虑使用NSLogger等实用程序。

答案 2 :(得分:1)

之前的答案很好;如果您倾向于进行系统调用,也请参阅this