在Objective C中,您可以使用以下方法记录正在调用的方法:
@H_502_21@
- NSLog(@"%s",__PRETTY_FUNCTION__)
通常这是从日志宏使用。
虽然Swift不支持宏(我想),我仍然想使用一个通用的日志语句,包括被调用的函数的名称。这是可能在Swift吗?
更新:
我现在使用这个全局函数进行日志记录:
- public func EVLog<T>(object: T,filename: String = __FILE__,line: Int = __LINE__,funcname: String = __FUNCTION__) {
- var dateFormatter = NSDateFormatter()
- dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss:SSS"
- var process = NSProcessInfo.processInfo()
- var threadId = "?"
- println("\(dateFormatter.stringFromDate(NSDate())) \(process.processName))[\(process.processIdentifier):\(threadId)] \(filename.lastPathComponent)(\(line)) \(funcname):\r\t\(object)\n")
- }
然后,您可以调用:
- EVLog("/(error)")
然后将看起来像这样:
- 6/19/2015 17:13:19:042 AppMessage)[3462:.] RootViewController.swift(68) getUser():
- ERROR: Unable to get user