一、簡介
為Swift 2&Swift 3添加多彩,靈活,輕量級記錄。 偉大的開發和發布與支持控制臺,文件和云平臺。
新增:發布期間方便的將日志記錄到內置SwiftyBeaver平臺和Mac應用程序中!
(1)、開發期間: 彩色記錄到Xcode控制臺
了解更多彩色記錄到Xcode控制臺和Swift 3,對于Swift 2.3使用這個要領。不需要再破解Xcode 8來獲得顏色,甚至可以自定義日志級別詞匯(例如ATTENTION代替ERROR?)。甚至你想使用??代替??來顯示一般量的數據。
(2)、開發期間: 彩色記錄文件
了解更多終端記錄文件在磁盤上存儲的日志。
(3)、發布期間: 加密記錄到SwiftyBeaver平臺
了解更多 發布期間記錄到SwiftyBeaver平臺。
(4) 、通過Mac App來瀏覽、搜索和過濾
Mac APP在開發或者發布期間非常方便的訪問你的日志
二、安裝
Swift 3安裝SwiftyBeaver最終版本
Swift 2安裝SwiftyBeaver 0.7.0版本
Carthage方式
使用Carthage安裝SwiftyBeaver,編輯Cartfile文件
Swift 3:
github "SwiftyBeaver/SwiftyBeaver"
Swift 2:
github "SwiftyBeaver/SwiftyBeaver" ~> 0.7
CocoaPods方式
使用CocoaPods 安裝SwiftyBeaver,編輯Podfile文件
Swift 3:
pod 'SwiftyBeaver'
Swift 2:
target 'MyProject' do
use_frameworks!
# Pods for MyProject
pod 'SwiftyBeaver', '~> 0.7'
end
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
# Configure Pod targets for Xcode 8 with Swift 2.3
config.build_settings['SWIFT_VERSION'] = '2.3'
end
end
Swift安裝包管理方式
使用Swift Package Manager 安裝SwiftyBeaver,編輯Package.swift文件
僅支持Swift 3
.Package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", majorVersion: 1)
三、使用
1.項目中使用SwiftyBeaver,在AppDelegate.swift文件中,添加如下代碼。
import SwiftyBeaver
let log = SwiftyBeaver.self
2.在AppDelegate:didFinishLaunchingWithOptions()方法中添加SwiftyBeaver日志目的(控制臺、文件、等等),可以選擇調整日志格式,完成后可以全局調用以下log級別輸出日志。
//添加log目的,最少一項
// Xcode控制臺日志
let console = ConsoleDestination()
// 默認swiftybeaver.log文件日志
let file = FileDestination()
// cloud平臺配置
let cloud = SBPlatformDestination(appID: "foo", appSecret: "bar", encryptionKey: "123")
// 使用自定義格式輸出短時間、日志級別、信息
// console.format = "$DHH:mm:ss$d $L $M"
// 或者使用 console.format = "$J" 輸出JSON格式
//添加配置到SwiftyBeaver
log.addDestination(console)
log.addDestination(file)
log.addDestination(cloud)
//日志具有不同重要性
log.verbose("not so important") // 優先級 1, VERBOSE 紫色
log.debug("something to debug") // 優先級 2, DEBUG 綠色
log.info("a nice information") // 優先級 3, INFO 藍色
log.warning("oh no, that won’t be good") // 優先級 4, WARNING 黃色
log.error("ouch, an error did occur!") // 優先級 5, ERROR 紅色
//支持類型: 字符串,數字,日期,等等
log.verbose(123)
log.info(-123.45678)
log.warning(Date())
log.error(["I", "like", "logs!"])
log.error(["name": "Mr Beaver", "address": "7 Beaver Lodge"])
3.效果
四、服務器端Swift
我們??服務器端Swift 3和SwiftyBeaver支持它開箱即用!嘗試自己,并在Ubuntu Docker容器中運行SwiftyBeaver。只需安裝Docker,然后去macOS或Ubuntu上的項目文件夾,并輸入:
# 創建docker鏡像,構建SwiftyBeaver并運行單元測試
swift build --clean && docker build --rm -t swiftybeaver .
# 可選地登錄容器以運行Swift CLI并執行更多操作
docker run --rm -it --privileged=true -v $PWD:/app swiftybeaver
注意:對于流行的Swift服務端web框架Vapor ,你可以使用我們提供的SwiftyBeaver-Vapor