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

在iPhone应用程序中记录错误/事件的最佳做法是什么?,iphone,ios,Iphone,Ios,在iPhone应用程序中记录错误/事件的最佳做法是什么?我不是说调试,而是在应用程序发布之后。我的意思是,当应用程序在发布模式(而不是调试模式)下运行时,我想收集错误/事件日志。(需要时,我可以要求用户自愿将文件发送到我的服务器进行分析。) (如果NSLog未在调试中运行,它是否有任何影响?如果有,它将写入哪里?以及如何通过编程清除任何内容?)我更喜欢使用 或 我在这里发布了一个类似问题的答案: NSLog不应用于生产应用程序中的详细日志记录,因为它会降低应用程序的速度。NSLog每次被调用时都

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

(如果NSLog未在调试中运行,它是否有任何影响?如果有,它将写入哪里?以及如何通过编程清除任何内容?)

我更喜欢使用 或
我在这里发布了一个类似问题的答案:

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

相反,use异步记录,速度非常快,提供了日志级支持,消除了bug,这些bug甚至可以在运行时通过一些额外的努力进行更改(参见它的wiki页面)。此外,它还支持多个输出目标,如文件、控制台或Xcode控制台等

另一个伟大的日志库是,它提供了一个Mac应用程序,通过Bonjour流式传输日志数据。这两个库可以一起使用,这意味着通过使用此连接器将日志数据从CocoaLumberjack流式传输到NSLogger Mac应用程序: