objective-c记录最佳实践

时间:2009-09-26 03:30:49

标签: objective-c logging

我正在编写第一个在后台运行的objective-c守护进程类型进程。它所做的一切都需要正确记录。

我对Apple的东西相当新,所以我不确定,记录活动最常见和/或最好的方法是什么?每个人都只是以自己的特殊格式登录文本文件,还是使用某种系统调用?

2 个答案:

答案 0 :(得分:16)

您应该查看Apple System Logger。 ASL写入系统日志数据库(可以轻松地从Console.app或从您自己的应用程序中查询日志)以及一个或多个平面文件(如果您选择)。 Peter Hosey对ASL的introduction是我所知道的最好的。 ASL是一个C级API,但如果您愿意,可以相对容易地包装在Objective-C中。我建议你也看看Google's Toolbox for Mac。在许多其他好东西中,它包含一个GTMLogger工具,包括ASL支持。我放弃了我自己种植的ASL包装,转而使用GTMLogger

答案 1 :(得分:1)

您可能想要尝试的另一种选择是https://github.com/CocoaLumberjack。 Lumberjack非常灵活,允许您登录各个目的地,配置日志级别等。如果您熟悉这些目标,它就像log4j / log4net一样。

它还报告说它比ASL更快......我不知道它与GTMLogger在功能或速度方面的比较,但文档似乎更平易近人。 / p>