我无法让NSLogger
在我的iOS项目中工作,甚至无法在一个新的空项目中工作。
我需要一些日志记录框架,经过一些比较,我选择了NSLogger
,因为它的桌面查看器正是我所需要的。
我在我的项目中使用了CocoaPod,所以安装非常简单。只需在Podfile中添加一行,并在控制台中运行"pod update"即可。
我按照NSLogger
wiki中的说明进行了配置:首先,将LoggerStartForBuildUser()
添加到main()
函数中;其次,在我的代码中将NSLog()
替换为LogMessageCompact()
。
然后我构建了我的项目,并在我的iPhone 6 plus(8.2系统)上运行它。我的应用程序运行良好,但我没有登录控制台,一句话也没有!
我设置了一些断点,并确保执行了正确的日志记录代码。但什么也没发生,就好像NSLogger
永远不存在一样。
我创建了一个全新的空应用程序项目,并完成了相同的安装过程,但仍然没有显示日志。
我真的很想知道我是否错过了什么。有人遇到过像我这样的类似问题吗?
PS:我的开发环境是Yosemite+Xcode 6.2
问题已解决。
事实证明,NSLogger无法连接到桌面查看器。我不得不使用LoggerSetViewerHost(NULL,hostname,port)而不是LoggerStartForBuildUser()。
但每次重新启动桌面查看器时,端口都会发生变化。所以我不得不更改代码中的端口并重新编译。这有点烦人。
默认情况下,NSLogger会将所有NSLog()重定向到其日志缓冲区。因此,除非您使用LoggerSetOptions(kLoggerOption_LogToConsole)强制NSLogger将所有日志复制到控制台中,否则在控制台中什么都看不到是正常的。