swiftでデバッグログ

More than 1 year has passed since last update.

objective-cの時に使用していたdebug時のみログを吐き出すマクロをswiftで使えるようにしてみた。


project設定を編集

Build Setting内のOther Swift Flags

-DDEBUGを設定する。

sample.png


実装


log.swift


/// 2.1 以前
func debugLog(obj: AnyObject?,
function: String = __FUNCTION__,
line: Int = __LINE__) {
#if DEBUG
println("[Function:\(function) Line:\(line)] : \(obj)")
#endif
}

/// swift 2.2 対応版
func debugLog(obj: AnyObject?,
function: String = #function,
line: Int = #line) {
#if DEBUG
print("[Function:\(function) Line:\(line)] : \(obj)")
#endif
}

/// swift 3.0 対応版
func debugLog(_ obj: Any?,
function: String = #function,
line: Int = #line) {
#if DEBUG
if let obj = obj {
print("[Function:\(function) Line:\(line)] : \(obj)")
} else {
print("[Function:\(function) Line:\(line)]")
}
#endif
}



使い方

let hoge = Hoge()

debugLog(hoge)