ios - 是否有任何简单的方法可以在所有方法中添加NSLog或任何日志记录语句?

标签 ios objective-c objective-c-runtime

我即将完成该项目,我想在其中添加日志记录。我知道市场上有一些好的记录器(CocoaLumberjack)。但是为此,我需要在每个方法中添加log语句。随着项目即将完成,有很多方法。那么,有什么办法或解决方法吗?不将log语句添加到所有方法中如果我将添加在任何中央位置,它将对所有人有效。

我不确定是否在每个方法之前都调用了Objective-C这样的运行时函数。

这种方法在所有情况下都非常有用,例如我本人或任何新开发人员正在编写新方法,那么他就无需记住添加日志语句。

编辑:

这只是出于调试目的。我将添加一种方法来控制日志,例如关闭和打印特定级别的详细信息。

最佳答案

不要这样说真的用户不喜欢由于健谈软件而填满日志文件,并且您还会通过遮盖实际上很重要的消息来惹恼其他所有开发人员。

在调试期间,您仅应将此NSLog()用作绝对的最后手段。即使这样,也有更好的方法(例如,您可以使用 dtrace ;如果可以将其转储所有objc_msgSend()调用,则除了通过objc_msgSendStret()和浮点数的调用(如果适用于)之外,您还将看到几乎所有的方法调用。您的平台)。

如果您确实需要创建一个健谈的应用程序,请创建自己的日志文件,编写自己的日志记录功能(最好使用 asl ),即使这样,最好还是设置一组可以控制的标志,例如从用户默认值开始,以启用各种调试输出。

关于ios - 是否有任何简单的方法可以在所有方法中添加NSLog或任何日志记录语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24910920/

相关文章:

ios - 从上到下动画 UIview,反之亦然

ios - 使用 object_setIvar 时的 EXC_BAD_ACCESS

ios - 如何有效管理大量的iOS应用内购买?

ios - 如何以编程方式检查应用程序是否在 TestFlight 测试版模式下运行?

ios - ld : building for iOS Simulator, 但链接到为 MacOSX 文件构建的 dylib

ios - 在新的运行时中使用 objc_msgSend 而无需强制转换的替代方法

objective-c - NSBlock 对象是如何创建的?

iphone - iPhone:Http POST请求

ios - UIButton 图片饱和度变化

ios - 此应用包含一个应用扩展,该扩展指定了此版本的 iOS 不支持的扩展点标识符