let log = XCGLogger.defaultInstance()
并在应用程序中:didFinishLaunchingWithOptions我使用以下命令进行设置:
log.setup(.Debug,showThreadName: true,showLogLevel: true,showFileNames: true,showLineNumbers: true,writetoFile: "/tmp/app.log",fileLogLevel: .Debug)
当我在模拟器中启动应用程序时,我在XCode 7的控制台中看到了XCGLogger的输出.输出是:
2015-11-04 18:28:40.798 [Info] > myapp Version: 1.0 Build: 1 PID: 49243
2015-11-04 18:28:40.798 [Info] > XCGLogger Version: 3.0 – LogLevel: Debug
2015-11-04 18:28:40.801 [Info] > XCGLogger writing to log to: file:///tmp/app.log
但是,当我查看正确的模拟器实例的沙箱文件系统(使用SimPholders2)时,没有日志文件app.log.
当我在我的iPhone 6上启动应用程序时更糟糕.XCode控制台中的输出是:
2015-11-04 18:36:14.692 [Error] > Attempt to open log file for writing Failed: The operation Couldn’t be completed. (Cocoa error 2.)
我也尝试了不同的方法,如“/tmp/app.log”,“Library / Caches / de.myidentifier.myapp / app.log”,“/ Library / Cache / de.myidentifier.myapp / app.log”等.没有成功…
我究竟做错了什么?
解决方法
为此,您需要向系统询问缓存目录. XCGLogger中的示例应用程序包含执行此操作的代码,但我也将其包含在此处.
试试这个:
let cacheDirectory: NSURL = { let urls = NSFileManager.defaultManager().URLsForDirectory(.CachesDirectory,inDomains: .UserDomainMask) return urls[urls.endindex - 1] }() let logPath: NSURL = cacheDirectory.URLByAppendingPathComponent("app.log") log.setup(.Debug,writetoFile: logPath,fileLogLevel: .Debug)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。