我有一个简单的iPhone应用程序,它使用NSLog
和几个printf
语句。该应用程序是一个简单的测试应用程序,我创建用于测试iPhone(3GS)上的串行通信。显然我无法使用iOS模拟器测试串口com,因此我在Xcode中单击Run
后将设备从计算机上拔下。我从Cydia安装了syslogd,tail /var/log/syslog
允许我监视某些日志消息。
但是,当我打开我的应用并且它到达代码的NSLog
部分时,我看不到/var/log/syslog
中的消息,我也看不到printf
语句输出在应用的syslog
文件中。
iPhone本身是否存在包含这些语句输出的文件,或者我是否需要指定我的应用程序输出到/var/log/syslog
?
如果包含日志消息内容的手机上存在另一个文件,我很满意。基本上我希望能够在sshed
进入手机时看到日志消息的内容,这样我才能看到发生了什么。显然,在Xcode中使用控制台输出不是一个选项,因为手机没有连接到电脑。
答案 0 :(得分:1)
您写入syslog您应该调用syslog函数。
可以看到NSLog输出显示在this SO question。
中printf只会转到stdout。
我会尝试不使用NSLog和stdout登录同一个应用程序 - 使用NSLog进行所有日志记录。或者更多的工作是CocoaLumberjack之类的日志框架,它允许更多的灵活性,包括其他可能包含syslog的记录器,因此有一个日志功能可以在运行时重定向到不同的输出。
答案 1 :(得分:1)
您使用的是tail /var/log/syslog
吗?它只显示日志的最后15行。也许尝试使用tail -f /var/log/syslog
。我刚测试了它,它记录了我的简单NSLog(@"LOL");
就好了。我能够通过ssh和所有内容看到它。