美文网首页
Swift 自定义 log

Swift 自定义 log

作者: 张_何 | 来源:发表于2018-08-26 00:07 被阅读0次

获取打印所在文件

let file = (__FILE__ as NSString).lastPathComponent

获取打印所在的方法

let funcName = #function

获取打印所在行数

let lingNumber = #line

print("\(file):[\(funcName)](\(#line))") 

定义一个全局函数打印

//这里<T> 表示动态类型,传过来的是什么类型就是什么类型,<T>中的 T 只是一种写法 T 也可以被替换成任意字母或字符串
func Log<T>(message: T, file: String = #file, funcName: String = #function, lineNumber: Int = #line) {
        let fileName = (file as NSString).lastPathComponent
    print("\(fileName):(\(lineNumber))-\(message)")
}

  • Xcode 中我们修改运行的是 debug 包还是 release 包可以按照下图修改
0.png
1.png
  • 由于 swift 中没有宏,不能根据宏来判断是 DEBug 还是 release 模式
    所以,如果要判断是 DEBug 还是 Release 模式可以根据下图


    2.png

这样之后就可以根据给 log 方法加一个条件编译,让它在 debug 模式下输出 log 信息

func Log<T>(message: T, file: String = #file, funcName: String = #function, lineNumber: Int = #line) {
    #if ABCD
        let fileName = (file as NSString).lastPathComponent
    print("\(fileName):(\(lineNumber))-\(message)")
    #endif
}

给 release 模式添加标识符也是一样 -D 跟一串字符串

相关文章

  • Swift中自定义Log

    Swift中自定义Log Swift中自定义Log:依次是类名.方法名.行号.内容. func LTLog(fun...

  • iOS 自定义Log

    swift自定义log一般写在AppDelegate里:AppDelegate.swift:application...

  • Swift自定义log以及其它

    一、自定义Log 在Swift中,我们也需要如OC一样,对log进行自定义。下面是一个我自定义的log,示例如下:...

  • SWIFT 的一些小知识点

    1、NSLog 在 oc 中使用NSLog,在 swift 中为 print 1.1、自定义 Log 函数 1.2...

  • swift中自定义Log

    swift中自定义log输出日志,swift支持全局函数,不写在任何类中的方法可以当做全局方法使用。这里写在了Ap...

  • Swift 基础(1) -- 自定义LOG

    Swift 3.0 自定义LOG. 知识点一 :系统自带常量(1) #line : 当前行号.(2) #file...

  • Swift 自定义Log

    Swift中打印不像OC那样每次打印系统会自己打印出时间和所在类名,所以在swift中要自己封装.自定义Log要用...

  • swift 自定义Log

    ——> 代表传递过来什么类型,就是什么类型的数据 在swift中,没有#define, 需要在 targe...

  • swift自定义log

    目前SFJLog方法APPDelegate里面,后期看情况而定。 需要进行一系列的配置Build Setting-...

  • Swift 自定义 log

    获取打印所在文件 let file = (__FILE__ as NSString).lastPathCompon...

网友评论

      本文标题:Swift 自定义 log

      本文链接:https://www.haomeiwen.com/subject/cxdniftx.html