Cocoa 如何在Mac上登录到文件(类似于log4net)

Cocoa 如何在Mac上登录到文件(类似于log4net),cocoa,macos,logging,Cocoa,Macos,Logging,对于我的Mac应用程序,我想在磁盘上创建一个日志文件,类似于log4net windows端生成的日志文件。我想要的东西包括日期戳、日志记录级别(调试、信息、警告、错误)等等,而且我不想从头开始就使用自己的日志记录 VMWare fusion和JollysFastVNC的功能与我所寻找的类似,尽管没有日志级别 使用NSLog()登录到控制台对我来说根本不起作用 如何做到这一点?OS X上有两个系统级日志API:syslog和。第二个是Apple System Logger,或ASL,功能非常强大

对于我的Mac应用程序,我想在磁盘上创建一个日志文件,类似于log4net windows端生成的日志文件。我想要的东西包括日期戳、日志记录级别(调试、信息、警告、错误)等等,而且我不想从头开始就使用自己的日志记录

VMWare fusion和JollysFastVNC的功能与我所寻找的类似,尽管没有日志级别

使用NSLog()登录到控制台对我来说根本不起作用


如何做到这一点?

OS X上有两个系统级日志API:syslog和。第二个是Apple System Logger,或ASL,功能非常强大,可以作为应用程序登录到系统控制台和/或单独文件的基础


ASLAPI是直接的C。然而,用Objective-C包装并不困难。有一个很好的日志系统,包括ASL支持(请参阅GTMLogger+ASL)和一个环形缓冲区实现。

这是迄今为止我发现的最好的ASL介绍:Peter Hosey的ASL系列绝对是必读的。然而,使用GTM的GTMLogger+ASL,您可以跳过几乎所有的细节,直接使用它。我确实最终使用了GTMLogger,它或多或少地满足了我的需要。官方文档: