Swift打印Debug日志,实现Release下不打印
2017-07-06 20:54
1636 查看
OC内,我们往往做log打印时,会考虑一个Debug环境下打印,Release下控制不打印,以节约性能消耗。
OC我们可以这样做:
在pch文件内,定义如下:
在Swift内要实现同样效果,我们依然可以同理实现:
1、不同于OC,swift没有pch文件,但Swift中只要在一个文件中声明了一个公开的方法, 其他文件都是可以访问到的。
2、我们定义一个类文件,里面可以用来写公共方法等
在文件里加上如下:
其中,有两个方法:
第一个是只打印内容,效果和print一样。
第二个是包括打印类和打印行,类似下图:
其中:
#if DEBUG 这个是系统默认加好的,我们不用额外定义这个flag。
OC我们可以这样做:
在pch文件内,定义如下:
//打印日志 #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...) #endif
在Swift内要实现同样效果,我们依然可以同理实现:
1、不同于OC,swift没有pch文件,但Swift中只要在一个文件中声明了一个公开的方法, 其他文件都是可以访问到的。
2、我们定义一个类文件,里面可以用来写公共方法等
在文件里加上如下:
/// 直接打印出内容 /// /// - Parameter message: <#message description#> func YJLog<T>(message : T) { #if DEBUG print("\(message)") #endif } /// 打印内容,并包含类名和打印所在行数 /// /// - Parameters: /// - message: 打印消息 /// - file: 打印所属类 /// - lineNumber: 打印语句所在行数 func YJLogLine<T>(message : T, file : String = #file, lineNumber : Int = #line) { #if DEBUG let fileName = (file as NSString).lastPathComponent print("[\(fileName):line:\(lineNumber)]- \(message)") #endif }
其中,有两个方法:
第一个是只打印内容,效果和print一样。
第二个是包括打印类和打印行,类似下图:
其中:
#if DEBUG 这个是系统默认加好的,我们不用额外定义这个flag。
相关文章推荐
- logback 实现debug 日志和warn(error)日志分开打印
- Release下支持调试信息的打印,Debug_Trace的实现
- 在PCH中定制自己的LOG打印日志,分别在DEBUG 与 RELEASE的状态下处理,及如何把PCH引入到项目中
- Swift中如何实现自定义Debug模式下打印Log
- Objective-C与Swift下的自定义打印函数(Debug和Release)
- swift中的有用的编译符号以及Debug模式下的打印/Release模式下不打印
- Swift下自定义printf, 在状态DEBUG打印, 在release状态不打印
- iOS打印Debug日志的方式
- 根据Debug和Release状态的变化来屏蔽日志输出
- iOS打印Debug日志的方式
- 转--iOS开发学习 根据Debug和Release状态变化来屏蔽日志输出
- 根据Debug和Release状态的变化来屏蔽日志输出
- 根据Debug和Release状态的变化来屏蔽日志输出
- 启动一个服务监控android系统的打印日志--实现卸载软件提示
- xcode中根据debug和release状态变化来屏蔽日志输出
- 根据Debug和Release状态的变化来控制日志输出
- 使用宏调试 实现 debug release 版本程序
- iPhone -- 根据Debug和Release状态的变化来屏蔽日志输出
- iOS根据Debug和Release状态的变化来屏蔽日志输出
- android 模拟宏定义,实现Debug & Release 模式