Swift格式化日志输出, 更友好的提示

最近研究 swift, 今天给大家介绍个小技巧

  • 格式化日志输出, 更友好的提示输出内容的位置, 只需要定义一个全局函数即可
    • Swift支持全局函数, 全局函数可以在当前所在的命名空间下随意调用, 以自定义的print函数为例(看下面代码)
    • 定义全局函数类似定义全局变量, 可以在任意控制器下的大括号外定义即可
  • 先看输出结果-->format:文件位置/方法/行号/自定义输出内容
    [ViewController.swift][viewDidLoad()](18):看我看我看我看我
  • 代码:
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after 
            JJLog("看我看我看我看我")
    }
}
// 这里 T 表示不指定 message参数类型
func JJLog<T>(message : T, file : String = __FILE__, funcName : String = __FUNCTION__, lineNum : Int = __LINE__) {
    
    #if DEBUG
        // 需要在 buildSetting 中配置 swift flags的参数为:-D DEBUG, DEBUG可以自定义, 一般用 DEBUG
            // 搜 swift flags-->other swift flags-->DEBUG-->点+号-->输入上面的配置参数
        // 1.对文件进行处理
        let fileName = (file as NSString).lastPathComponent
        
        // 2.打印内容
        print("[\(fileName)][\(funcName)](\(lineNum)):\(message)")     
    #endif
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 爱丁堡5个月零15天 7月 从中国跨越了大半个地球来到英国 有人说每一次出发都像一场告别 但是 我想说要相信你...
    Crystal_M阅读 487评论 0 0
  • 高中学校有个男生,也非常喜欢打台球,也打得非常好,而且还很帅。可惜他学习成绩也很好,所以并没有努力去打台球,而是努...
    勇敢的Springz81阅读 481评论 0 1