藤原とうふ店(自家用)

调试 - DLog

2016-09-02  本文已影响112人  FansX

iOS开发中,常常需要打印日志Debug程序,NSLog输出过于单一常常不能满足我们的需求,DLog 能输出行号、类名、方法命更便于调试。

DLog
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define DLog(...)
#endif

ALog
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); 

在工程Bulid Settings的other C Flags的Debug中加入-DDEBUG,就能在工程Debug版本中调用DLog,在Release版本中不调用

#if DEBUG
    func DLog<T>(_ object: T, filename: String = #file, function: String = #function, line: Int = #line) {
        let fileString = filename as NSString
        let fileLastPathComponent = fileString.lastPathComponent as NSString
        let filename = fileLastPathComponent.deletingPathExtension

        print("[\(filename):\(line)] \(function) - \(object)")
    }
#else
    func DLog<T>(_ object: T, filename: String = #file, function: String = #function, line: Int = #line) {

    }
#endif
上一篇 下一篇

猜你喜欢

热点阅读