0

我有一个简单的 iPhone 应用程序,它使用一个NSLog和几个printf语句。该应用程序是我创建的一个简单的测试应用程序,用于测试 iPhone (3GS) 上的串行通信。Run显然,我无法使用 iOS 模拟器测试串行 com,因此在 Xcode 中单击后,我将设备从计算机上拔下。我从 Cydia 安装了 syslogd,并tail /var/log/syslog允许我监视某些日志消息。

但是,当我打开我的应用程序并到达NSLog代码的一部分时,我看不到消息出现在/var/log/syslog我也看不到应用程序文件中的printf语句输出。syslog

iPhone 本身是否存在包含这些语句的输出的文件,或者我是否需要指定我的应用程序输出到/var/log/syslog

如果手机上存在包含日志消息内容的另一个文件,我对打开另一个文件感到满意。基本上,我希望能够sshed在打电话时看到日志消息的内容,这样我就可以看到发生了什么。显然,在 Xcode 中使用控制台输出不是一个选项,因为手机没有连接到计算机。

4

2 回答 2

1

您写入syslog,您应该调用 syslog 函数。

可以看到 NSLog 输出,如这个 SO question所示。

printf 只会转到标准输出。

我会尽量不使用 NSLog 和 stdout 来登录同一个应用程序 - 使用 NSLog 来记录那里的所有日志。或者通过更多的工作使用像CocoaLumberjack这样的日志框架,它允许更大的灵活性,包括其他可能包含 syslog 的记录器,因此具有一个日志功能,您可以在运行时重定向到不同的输出。

于 2012-07-21T22:56:35.660 回答
1

你在用tail /var/log/syslog吗?它只显示日志的最后 15 行。也许尝试使用tail -f /var/log/syslog. 我刚刚测试了它,它记录了我的简单NSLog(@"LOL");。我能够通过 ssh 和一切看到它。

于 2012-07-21T22:59:22.440 回答