美文网首页iOS Developer
swift3中自定义打印log

swift3中自定义打印log

作者: 优米诺 | 来源:发表于2017-08-01 15:46 被阅读58次

    不知不觉swift已经3岁了,期间也就在15年底和16年上半年用2.0和2.2在项目中进行过混编,也是一把泪吧。后来就放弃混编了,太不稳定了。现在决定再次开始在项目中进行swift和OC混编,也算是摸着石头过河吧!

    func DLog<T>(_ message : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
        
        #if DEBUG
        
            let fileName = (file as NSString).lastPathComponent
            let className = (fileName as NSString).deletingPathExtension
        
            print("\(fileName):(line:\(lineNum))-[\(className) \(funcName)]-\(message)")
        
        #endif
        
    }
    
    

    此代码是网上下的一个demo里的,我自己稍微改造了下,调用方法的输出会跟OC一样用 '[ ]',如果你不习惯的话自己改动一下就好了。但是我放到自己的项目中发现并不会打印信息,如果去掉其中的 'if' 判断就可以正常输出打印,后来发现swift中并没有识别这个 'debug'

    Snip20170801_2.png

    经过上面的设置后就可以正常输出打印了

        // 或者不想配置可以使用下面这段代码
        // 这是通过函数判断编译的优化选项
        // 但是不够直观而且没有官方的文档,所以不建议使用。
        if _isDebugAssertConfiguration() {
            
            let fileName = (file as NSString).lastPathComponent
            
            print("\(fileName):(\(lineNum))-\(message)")
        }
    

    相关文章

      网友评论

        本文标题:swift3中自定义打印log

        本文链接:https://www.haomeiwen.com/subject/dpbjlxtx.html