如何设置Swift的日志记录平台Swift Beaver


SwiftyBeaver是Swift的日志记录平台。
直到现在,它还是一个私人测试版,但它似乎已经向公众开放,所以我立即感动了它。

什么是Swifty Beaver

SwiftyBeaver使从开发阶段到发布后的日志浏览始终如一。

您可以将日志从iOS客户端上载到Swifty Beaver平台,并使用专用的Mac应用程序查看上载的日志。 (还将日志输出到Xcode控制台和文件。)此外,所有上传到SwiftyBeaver的日志都被加密并发送。由于这种加密的安全性,似乎即使是医疗机构和大型公司,也可能有很多规则,实际上也正在将其引入生产中。

Wunderlist的前首席执行官/首席技术官Seb Kreutzberger做到了。

beaver.png

设定方法

部署到iOS应用程序非常容易。支持使用Carthage,CocoaPods和Swift Package Manager进行部署。这次,我在CocoaPods中使用了它。

播客文件

1
pod 'SwiftyBeaver'

AppDelegate.swift

1
2
3
4
5
6
7
8
9
10
11
12
13
let log = SwiftyBeaver.self

let console = ConsoleDestination()
let file = FileDestination()
file.logFileURL = NSURL(string: "file:///tmp/swiftybeaver.log")!
let platform = SBPlatformDestination(
    appID: "hogehoge",
    appSecret: "hogehoge",
    encryptionKey: "hogehoge")

log.addDestination(console)
log.addDestination(file)
log.addDestination(platform)

您可以将它与此* \\\\(^ o ^)/ *
在AppDelegate周围,有一个SwiftyBeaver参考,并在应用程序周围使用log

日志

如上所述,有3种日志确认方法(Xcode,文件,Mac应用程序)。另外,有五个日志级别:verbosedebuginfowarningerror

ViewController.swift

1
2
3
4
5
log.verbose("verbose")
log.debug("debug")
log.info("info")
log.warning("warning")
log.error("error")

我想看看每种确认方法如何输出此代码。

输出到Xcode控制台

此方法与检查常规Xcode上的日志几乎相同。
在该文档中,还有一些为日志着色的插件,以及将日志内容链接到相应文件的插件。

Screen Shot 2016-07-19 at 11.32.57 PM.png

文件

您也可以将

日志写入文件。
在上面的AppDelegate代码中,可以使用tail命令,因为日志仅以macOS应用程序开发的名称存储在tmp目录中,名称为swiftybeaver.log

1
$ tail -f /tmp/swiftybeaver.log

在iOS应用开发中,该应用只能访问沙箱中的文件,因此日志将输出到沙箱中的"库/缓存"。

Screen Shot 2016-07-19 at 11.58.56 PM.png

SwiftyBeaver平台(Mac应用)

最后,这是一种将日志上传到SwiftyBeaver(这是SwiftyBeaver的主要功能),然后使用Mac应用程序进行检查的方法。

通过像上面AppDelegate一样设置appIDappSecretencryptionKey来初始化SBPlatformDestination。您可以通过下载SwiftyBeaver Mac应用程序从左侧的齿轮图标获取这些值。
请注意,它与Apple的App ID无关。

Screen Shot 2016-07-19 at 11.42.02 PM.png

使用Mac应用程序,您可以轻松按设备ID缩小日志范围,并查看精美的详细信息。

参考

SwiftyBeaver日志记录平台的发布— SwiftyBeaver博客—中型
https://medium.com/swiftybeaver-blog/the-release-of-the-swiftybeaver-logging-platform-5c0447eda749

SwiftyBeaver Github
https://github.com/SwiftyBeaver/SwiftyBeaver

登录到Xcode控制台--SwiftyBeaver文档
http://docs.swiftybeaver.com/article/9-log-to-xcode-console

记录到文件--SwiftyBeaver文档
http://docs.swiftybeaver.com/article/10-log-to-file

登录到SwiftyBeaver平台--SwiftyBeaver文档
http://docs.swiftybeaver.com/article/11-log-to-swiftybeaver-platform

SwiftyBeaver日志记录平台--Product Hunt
https://www.producthunt.com/tech/swiftybeaver-logging-platform