在iPhone应用程序中记录错误/事件的最佳做法是什么?

时间:2012-09-29 22:33:54

标签: iphone ios

在iPhone应用程序中记录错误/事件的最佳做法是什么?我不是在谈论调试,而是在应用程序发布后。我的意思是,当应用程序以发布模式(非调试模式)运行时,我想收集错误/事件日志。 (如果需要,我可以要求用户自愿将文件发送到我的服务器进行分析。)

(如果NSLog没有在调试中运行,它会有什么影响吗?如果是,它写在哪里?以及如何以编程方式清除任何内容?)

2 个答案:

答案 0 :(得分:3)

我在这里发布了一个类似问题的答案:Including custom data into iOS crash dumps

NSLog不应该用于生产应用程序中的详细日志记录,因为它会降低您的应用程序速度。 NSLog每次调用时都会打开与系统记录器的连接并同步执行,因此阻止当前线程。

而是使用异步日志的CocoaLumberjack非常快,并且可以通过一些额外的工作在运行时更改错误提供日志级支持(请参阅它的维基页面)。此外,它还支持多个输出目的地,如文件,控制台或Xcode控制台等。

另一个出色的日志记录库是NSLogger,它提供了一个Mac应用程序来通过Bonjour流式传输日志数据。这两个库可以一起使用,这意味着使用此连接器将日志数据从CocoaLumberjack传输到NSLogger Mac应用程序:https://github.com/steipete/NSLogger-CocoaLumberjack-connector

答案 1 :(得分:1)