如何让asl_log出现在iOS系统控制台输出中?

Mar*_*ahl 8 iphone logging ios

我正在调查我是否可以从asl_log获得比iPhone/iOS上的NSLog更好的性能(可能......)但是我似乎停留在asl的日志输出似乎不会出现在系统控制台中(可以通过诸如System Console,iConsole等许多应用程序查看.我知道我正在设置它,因为我用ASL_OPT_STDERR打开,当设备被束缚时,我在XCode中看到了日志条目.

我已经探讨很多有趣的东西在线(例如http://boredzo.org/blog/archives/2008-01-20/asl-logging,https://github.com/robbiehanson/CocoaLumberjack)和最好的希望似乎使用Facility of"com.apple.console"作为asl_open()但是唉,输出仍然没有显示在Console中.NSLog是唯一的选择吗?

Col*_*ler 10

将STDERR添加到ASL,然后它将显示在控制台中

asl_add_log_file(NULL, STDERR_FILENO);
Run Code Online (Sandbox Code Playgroud)


Chr*_*ers 5

您需要使用ReadUID或ReadGID为消息设置读取权限.将任一设置为-1将允许任何用户/组根据头文件文档查看消息.

aslmsg msg = asl_new(ASL_TYPE_MSG);
asl_set(msg, ASL_KEY_READ_UID, "-1");
asl_log(NULL, msg, ASL_LEVEL_NOTICE, "Hello, world!");
asl_free(msg);
Run Code Online (Sandbox Code Playgroud)