NSLog对与错

来源:互联网 发布:php设计安全的接口 编辑:程序博客网 时间:2024/04/29 21:43

作者:ani_di
版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di

NSLog对与错

日志这个东西可以说每个开发者都在使用。在调试器不那么先进的时代,日志几乎是解决bug的唯一手段。即使到了今天,printf恐怕还是代码调试的首先方案。

随着日志在代码中广泛使用,大家发现日志打印太多,要找到自己需要的很麻烦;另一方面,软件在发布后,不太喜欢输出太详细的日志,毕竟那些无用的日志或多或少有一些性能损失,但有不能完全没有。以上问题,随之而来就有很多log4x的库出现,包括我自己写iheader也有日志相关。

我个人不太喜欢一开始就用第三方日志库,过早的优化是万恶之源。现在的开发中,NSLog是最常用的。关于NSLog,苹果的文档是这样解释的

Logs an error message to the Apple System Log facility.

没错,iOS和Mac OS X有一个日志系统,叫做asl。使用NSLog绝对比printf要好很多,除了查看更方便外,还额外获得线程安全、本地储存、时间戳等好处。

使用NSLog太多后,日志分级很快需要提上日程。上面提到,NSLog是基于asl,asl对于分级肯定是支持的。可惜苹果没有提供更多NSLog包装。

这里有一个简单的asl包装,https://github.com/MikeWeller/MWLogging,不妨多用用。这个作者还专门写了一篇文章讲NSLog的细节,我就是打打酱油,吐槽一下。因为有时候选一个好的日志库还真不容易。