Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在objective C中编写类似system.log的日志文件?_Objective C_Cocoa - Fatal编程技术网

Objective c 如何在objective C中编写类似system.log的日志文件?

Objective c 如何在objective C中编写类似system.log的日志文件?,objective-c,cocoa,Objective C,Cocoa,我希望我的Mac Os X沙盒应用程序编写一个日志文件,记录它执行的每个操作,我认为正确的路径应该是/Users/MyName/Library/Containers/com.me\u developer.myAppID/Data/Library/Logs/。我知道如何在文件中添加文本,但我想要的是以类似于将系统日志文件写入/var/log的方式归档旧日志文件,一旦它们达到一定大小,就会重命名并压缩(bz2)。我想知道MacOSX或其较低级别的UNIX是否为此提供了内置解决方案,因此我不必手动编写

我希望我的Mac Os X沙盒应用程序编写一个日志文件,记录它执行的每个操作,我认为正确的路径应该是/Users/MyName/Library/Containers/com.me\u developer.myAppID/Data/Library/Logs/。我知道如何在文件中添加文本,但我想要的是以类似于将系统日志文件写入/var/log的方式归档旧日志文件,一旦它们达到一定大小,就会重命名并压缩(bz2)。我想知道MacOSX或其较低级别的UNIX是否为此提供了内置解决方案,因此我不必手动编写所有代码。谢谢。

看一看,这是在Mac OS X(和iOS)中与系统日志工具交互的API。它的级别有点低,因为它是一个C API,但它应该做你想做的一切,并以苹果认可的沙盒兼容方式来做

ASL有许多第三方、开源的Objective-C包装器。以下是一些示例(我自己没有使用过这些示例):


以下是几篇关于使用ASL的文章/教程:



最后,一定要看一看,这是一个非常流行的Cocoa日志库。

我首先要看Cocoa Lumberjack,它很容易使用,看起来像调用NSLog,但会写入文件或asl