Swift Logger
Literal Expressionを使って情報を付け足し出力する。
struct Logger { static func debug(_ item: Any, file: String = #file, line: Int = #line, function: String = #function) { #if DEBUG let components = [ "💚Debug💚 \(Date())", "file: \(file)", "line: \(line)", "function: \(function)", "\(item)" ] print(components.joined(separator: "\n")) #endif } }
Logger.debug("debug string")
💚Debug💚 2019-10-24 11:22:52 +0000 file: /ViewController.swift line: 7 function: viewDidLoad() debug string
Consoleに色をつけて出力する
xcode8からcolorをサポートされなくなったとなっている。 絵文字💚で色の代用はできるが、本当にできないのだろうか。
Logクラスの設計
メソッド | 優先度 |
---|---|
trace | 低 |
debug | |
info | |
warn | |
error | 高 |
ログの出力先
- console
- file
- remote