DaveWoodCom/XCGLogger
Objective-c / Swift でログを出力するライブラリ。
開発の DEBUG 時にのみログを出力したい、 PRODUCTION ではログを出したくない時の設定。
インストール方法とかは CocoaPods とか Carthage で入れる。
実装
1. DEBUG の設定
Swift での #ifdef DEBUG のやり方 を参考に DEBUG の設定をする。
2. AppDelegate に設定追加
AppDelegate.swift
に以下を記入する。
import XCGLogger
let log: XCGLogger? = {
#if DEBUG
let log = XCGLogger.defaultInstance()
log.xcodeColorsEnabled = true
log.xcodeColors = [
.Verbose: .lightGrey,
.Debug: .darkGrey,
.Info: .darkGreen,
.Warning: .orange,
.Error: XCGLogger.XcodeColor(fg: UIColor.redColor(), bg: UIColor.whiteColor()),
.Severe: XCGLogger.XcodeColor(fg: (255, 255, 255), bg: (255, 0, 0))
]
log.setup(.Verbose, showThreadName: true, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug)
return log
#else
return nil
#endif
}()
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
.....
色とかは自分の好きなように変えれる。
DEBUG では log の設定を行い、 DEBUG でない時は return nil
している。
3. log?.xxxx()
で出力
log は global になっているので、どこからでも呼べる。
optional のため ?
をつける。
PRODUCTION では nil のため実行されずログが出力されない。
log?.verbose("verbose")
log?.debug("debug")
log?.info("info")
log?.warning("warning")
log?.error("error")
log?.severe("severe")
print("print")
4. XCode Plugin を入れる
Alcatraz 使って XCode Plugin を入れる。
Alcatraz 入れてない人は Alcatraz 初期設定と、とりあえず入れとくと良いプラグインの紹介 を見て入れる。
-
robbiehanson/XcodeColors
- 設定した色でログを出力するために必要
-
krzysztofzablocki/KZLinkedConsole
- ログに出力される
ファイル名:行数
をクリックすると、該当部分にジャンプできる。
- ログに出力される
5. 結果
こんな感じでログが出てめでたい