経緯
- objective-c時代にDBGP(Debag Print)が使われていたのが、少し便利だった
軽くswiftのを探したけど、見つからんかったのでなんとなく作ってみた
Update版を制作中です...
Objective-CのDBGP
// Macro for create LogString
#define LOG_STR() [NSString stringWithFormat:@"%s(%d)", __FUNCTION__, __LINE__]
// Macro for DebugPrint
#define DBGP(...) ERRP(__VA_ARGS__)
//#define DBGP(...)
// Macro for ErrorLog
#define ERRP(...) NSLog(@"%@ %@", LOG_STR(), [NSString stringWithFormat:@""__VA_ARGS__])
Swiftで書いてみた(Version1.2です)
public func DGBP(value:Any..., function: StaticString = __FUNCTION__, file: StaticString = __FILE__, line: UInt = __LINE__){
#if DEBUG
var message = ""
for element in value {
var eachMessage = "\(element)"
let pattern = "Optional\\((.+)\\)"
eachMessage = eachMessage
.stringByReplacingOccurrencesOfString(pattern,
withString:"$1",
options:.RegularExpressionSearch,
range: nil)
message += eachMessage
}
Swift.print("[\(NSDate())]// \(message) //function: \(function), file: \(file), line: \(line)")
#endif
}
実行結果
DBGP("aaaa")
[2016-03-27 00:13:25 +0000]// aaaa //function: viewWillAppear, file: /Users/~~/~~/~~/~~/OOOOViewController.swift, line: 50
今後
- 今後もう少し改良してerrorのやつも書いたらUPし直します〜
- 指摘、修正はどんどん募集します