2010-08-31 29 views
3

我读过this question,它主张从Release版本中取出NSLog语句。我可以在发布版本中保留日志吗?

这是可以接受的,而不是混乱主垃圾日志,写入到苹果系统日志相反,那么它会被隐藏的主要日志?

还是我只是过分复杂的东西?是否有任何实例记录在发布后在应用程序中查找错误时对您有用?

回答

2

我发现日志消息我在开发过程中添加一般做的三两件事之一:在调试

  1. 援助和测试新的,未完成的功能和代码路径
  2. 提供有关程序的正常运行信息如任务完成和常见错误情况(例如,没有互联网连接)。
  3. 提供关于不寻常或意外的事件,包括错误情况是危险的或不具体处理,软件更新和畸形的数据从一台服务器连接传入或文件中的一个类别

消息,我通常删除时的详细信息该功能已完成,类别2中的消息I会用链接问题中的宏过滤掉,而类别3中的消息则会保留在发布中。

显然这些线条很模糊,但我认为这归结于尊重日志。如果您的应用程序使用无用的信息填充它,可能会导致难以注意到来自其他应用程序的错误,并且会导致(小)资源消耗。

使用ASL函数记录具有较低优先级的邮件,如debuginfo,这些邮件对大多数用户不可见,这对于处于灰色区域的邮件来说是一个好主意。

+1

第三类消息应该是警报或出现错误,而不是日志语句。有多少用户离开控制台运行,以防应用程序在那里记录失败? – 2010-08-31 20:19:14

+1

@Peter,我记录错误和警告,以便我们的崩溃处理程序(或用户反馈提交)可以通过ASL搜索这些日志并将它们发送给我们;用户不必打开控制台,但要求他们记住错误对话框的措辞要容易得多! – 2010-09-01 14:47:33

+1

@彼得我同意。日志消息记录的信息不适合或不足以呈现在用户界面中,或记录事件的重要性不足以在发生时告诉用户,但可用于查找原因之后的问题。 – s4y 2010-09-01 15:48:29

2

还有this question通过将这些陈述报告出来,询问任何性能优势。陪审团看起来仍然没有任何硬性数字,但传统观点认为,通过将它们纳入宏观条件来消除它们。你仍然可以获得你的调试信息,并且用户可以获得一个没有混乱的应用程序。

相关问题