码迷,mamicode.com
首页 > 编程语言 > 详细

swift学习:自定义Log

时间:2016-09-20 10:20:25      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

import UIKit

/*
 总结:1:let file = (#file as NSString).lastPathComponent,#file获取的是打印所在的文件
的全路径,转成NSString才能调用lastPathComponent获取的是路径最后的.后面的元素,as NSString转成NSString类型
     
      2:let funcName = #function,获取打印所在的方法
      3;let lineNum = #line,获取打印所在行数
      4:拼接字符串的时候,可以用String方法的formart方法,打印可以使用插值运算:\()
      print("\(file):[\(funcName)](\(__LINE__))-123")
 
 */
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 1.获取打印所在的文件
        let file = (#file as NSString).lastPathComponent
        
        // 2.获取打印所在的方法
        let funcName = #function
        
        // 3.获取打印所在行数
        let lineNum = #line
        
        // print("\(file):[\(funcName)](\(__LINE__))-123")
        // print("\(file):[\(funcName)](\(__LINE__))-123")
        
        XMGLog("hello swift")
    }
}
import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        
        // print("AppDelegate-123")
        XMGLog("123")
        
        return true
    }
}

/*
 总结:自定义Log:
 v定义Log 1. 定义Log的打印内容
 打印所在的 件 #FILE 打印所在的方法 #FUNCTION 打印所在的行 #LINE 
 默认参数:当在方法中传参数时,也可以传入默认参数,定义:file : String = #file
 全局函数:在AppDelegate中定义全局函数:泛型传打印内容:func XMGLog<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line)
 2.Log在Debug下 打印,在release下 不打印
 定义标记项 —>buildSettings—>搜索swift flag—>Debug -> -D DEBUG 做标记--------在项目中实现:#if DEBUG    #endif
 
 */

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

技术分享

 

swift学习:自定义Log

标签:

原文地址:http://www.cnblogs.com/cqb-learner/p/5887655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!