Swift5-swift 自定义print

2020-04-24  本文已影响0人  Jesscia_Liu

DEBUG调试模式打印,Release发布模式不打印

1.release/debug模式修改

2.实现

class LDefines: NSObject {
    
}

/**
  使用:printLog("hello world")   debug模式打印,release模式不打印
  使用:printLog("hello world", logError: true) release模式也可打印
*/
func printLog(_ items: Any...,
              logError: Bool = false,
              file: String = #file,
              method: String = #function,
              line: Int = #line)
{
    if logError {
        print(message: items, fileName: file,methodName: method,lineNumber: line)
    } else {
        #if DEBUG
            print(message: items, fileName: file,methodName: method,lineNumber: line)
        #endif
    }
}

private func print<T>(message: T, fileName: String = #file, methodName: String = #function, lineNumber: Int = #line) {
    //获取当前时间
    let now = Date()
    // 创建一个日期格式器
    let dformatter = DateFormatter()
    dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
    // 要把路径最后的字符串截取出来
    let lastName = ((fileName as NSString).pathComponents.last!)
    print("\(dformatter.string(from: now)) [\(lastName)][第\(lineNumber)行] \n\t\t \(message)")
}

上一篇 下一篇

猜你喜欢

热点阅读