0%

swift封装打印函数

swift封装打印函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
let dateFormatter = DateFormatter()

//日志打印
func DLog<T>(_ message:T, file:String = #file, function:String = #function, line:Int = #line) {
#if DEBUG

//获取文件名
let fileName = (file as NSString).lastPathComponent

// 为日期格式器设置格式字符串
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
// 使用日期格式器格式化当前日期、时间
let datestr = dateFormatter.string(from: Date())

//日志内容
let consoleStr = "\(datestr) [\(fileName):\(line)][\(function)]\(message)"

//打印日志内容
print(consoleStr)

#endif
}

打印对象地址

1
2
3
4
5
6
7
extension String {
static func pointer(_ object: AnyObject?) -> String {
guard let object = object else { return "nil" }
let opaque: UnsafeMutableRawPointer = Unmanaged.passUnretained(object).toOpaque()
return String(describing: opaque)
}
}

使用

1
2
DLog(self)
DLog("self p:\(Unmanaged.passUnretained(self).toOpaque())")

打印如下:

1
2
2019-02-27 11:58:57.378 [ViewController.swift:30][viewDidAppear]<demo.ViewController: 0x1059c2170>
2019-02-27 11:58:57.383 [ViewController.swift:31][viewDidAppear]self p:0x00000001059c2170

不过还是推荐Swift - 日志框架XCGLogger的使用详解

觉得文章有帮助可以打赏一下哦!