Swift中如何实现自定义Debug模式下打印Log
来源:互联网 发布:jsp里写java代码 编辑:程序博客网 时间:2024/06/05 18:57
打印log是开发调试过程中是必不可少的一步,但是上线之后这中log就没有什么意义,而且很消耗性能,如何在调试时候打印不调试就不打印呢?objective-c时代我们可以使用宏定义来设置工程debug模式下打印log,release模式下不打印log,但是过度到swift之后,我们发现swift的版本特性,不具有宏这种东西,所以也就不那么容易实现类似OC中的debug模式才能打印log的功能,但是还是可以操作的,方法如下:
首先我们知道,swift语言的特性并没有宏这种概念,所以我们可以通过定义全局函数的形式来让所有的类都能调用,下边是我写好的一个函数用来描述打印log的信息:
func PrintLog<N>(message:N,fileName:String = #file,methodName:String = #function,lineNumber:Int = #line){
#if DebugType
print("\(fileName as NSString)\n方法:\(methodName)\n行号:\(lineNumber)\n打印信息\(message)");
#endif
}
大家会发现, #if DebugType以及#endif还是宏,确实,但是这个宏和oc中的宏是两回事了,因为这个是自定义的宏,好了,重点来了,怎么去定义这个自定义的宏呢?
方法是:点击工程,然后target 然后 build setting 然后搜索custom 这个时候会有个custom flag选项,下边就有个选项,如下图:
然后在Debug选项中输入-加大写的D 后边跟你自己定义的宏的名字,这样,就完成了自己定义的宏,通过更改release模式我们发现,已经完成了这个功能,只在debuge模式下调用这个打印函数,release下不会调用,希望能对你有所帮助
- Swift中如何实现自定义Debug模式下打印Log
- Swift 下debug状态打印log
- Swift 自定义打印, 自定义输出函数 ,自定义log, Debug
- 在swift中debug的环境下使用log输出
- Swift中自定义Log
- cocoapods下Swift如何配置DEBUG打印函数
- Swift下自定义printf, 在状态DEBUG打印, 在release状态不打印
- 如何关闭Mybatis的DEBUG log打印
- [Debug]打印log相关
- 常用Debug模式下的打印DLog
- 成长小计-Swift下的DEBUG打印数据
- android 签名打包时去掉log日志打印(仅在debug包中打印log信息)
- Swift中如何使用 #if DEBUG
- Swift中如何使用 #if DEBUG
- 如何在程序中写log日志(定义log级别:error,warn, info, debug; 宏定义打印不同级别的日志; 程序中引用宏定义即可)
- Android debug 打印堆栈log
- swift - 自定义Log
- Swift学习 自定义Log
- odbc system dsn警告 您使用非管理权限登录 无法创建或修改 system dsn
- Asp.net MVC3 关于@Html中ListBox、DropDownList使用
- javah生成jni头文件
- SAP 其实圈子很小,人生何处不相逢
- VS_Error: LINK1123
- Swift中如何实现自定义Debug模式下打印Log
- DeepMind one shot learning 论文批注 One-Shot Generalization in Deep Generative Models
- phpstorm 整合apache服务器
- Servlet跳转到jsp不加载css样式
- Android Studio自动生成带系统签名的apk
- Java设计模式——工厂模式
- 校园网内利用Openwrt+PPTP实现全校范围内联网
- 求解偏微分方程开源有限元软件deal.II学习--Step 3
- 七招教你提升网站流量 绝对有效