Swift - 实现日志输出的封装1(显示出调用的文件名、方法、行号)
在开发调试程序时,我们少不了使用 print 方法进行日志打印。当然简单地调试使用 print 方法就够了,但如果日志输出的地方很多,就不好区分出每条日志具体是在哪里打印的。
本文对日志打印功能做个封装,自动实现日志信息的格式化。
1,效果图
从下图可以看出,控制台除了输出我们指定的日志内容外,还会自动记录日志触发点的文件名、函数名、行号。
2,日志封装代码
由于 Swift 支持全局函数,全局函数可以在当前所在的命名空间下随意调用。所以我们只需要定义一个全局函数即可。
//封装的日志输出功能(T表示不指定日志信息参数类型) func HGLog<T>(_ message:T, file:String = #file, function:String = #function, line:Int = #line) { #if DEBUG //获取文件名 let fileName = (file as NSString).lastPathComponent //打印日志内容 print("\(fileName):\(line) \(function) | \(message)") #endif }
3,使用样例
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() HGLog("程序启动!") doSomething() } func doSomething() { HGLog("欢迎访问hangge.com") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }