Swift打印Debug日志,实现Release下不打印

OC内,我们往往做log打印时,会考虑一个Debug环境下打印,Release下控制不打印,以节约性能消耗。

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。 

 

转载于:https://www.cnblogs.com/yajunLi/p/7126853.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值