8

我正在调查我是否可以从 asl_log 获得比 iPhone/iOS 上的 NSLog 更好的性能(可能......),但我被困在一个点上,似乎 asl 的日志输出不会出现在系统控制台中(许多应用程序(如 System Console、iConsole 等)都可以查看)。我知道我设置它是正确的,因为我使用 ASL_OPT_STDERR 打开,并且当设备连接时我在 XCode 中看到日志条目。

我在网上探索了很多有趣的东西(例如http://boredzo.org/blog/archives/2008-01-20/asl-logginghttps://github.com/robbiehanson/CocoaLumberjack),最好的希望似乎成为 asl_open() 与“com.apple.console”的设施,但唉,输出仍然没有出现在控制台中。NSLog 是唯一的选择吗?

4

2 回答 2

10

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

asl_add_log_file(NULL, STDERR_FILENO);
于 2013-06-28T01:30:20.737 回答
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);
于 2013-02-14T07:13:25.333 回答