log开关控制

通过在Android项目的buildTypes中配置BuildConfig字段,可以实现log的开关控制。在release版本中设置LOG_DEBUG为false,debug版本设置为true。在代码中,依据BuildConfig.LOG_DEBUG变量决定是否打印日志,以此避免发布版本中包含过多日志信息。此外,对于特定功能模块,可以定义额外的开关如DEV_LOG,以精细化控制日志输出,提高性能。
摘要由CSDN通过智能技术生成

对于代码中的log,可以用BuildConfig中的变量来控制输出。


buildTypes 

{release 

{buildConfigField "boolean", "LOG_DEBUG", "false" 

proguardFiles getDefaultProguardFile('proguard-android.txt'), 

'proguard-rules.pro'signingConfig signingConfigs.release} 

 

debug

{ 

buildConfigField "boolean", "LOG_DEBUG", "true"  

}

}

编译时,在生成的BuildConfig.java文件中,会存在LOG_DEBUG变量

LOG_DEBUG为总开关,代码中打log要这么写

if(BuildConfig.LOG_DEBUG)

{

  log.d(xxxxx);

}

编译器如果发现LOG_DEBUG为true,在编译时根本不会把log.d(xxxx)编译进去。


在某个功能模块,如果存在频繁打印的log,可以再定义一个开关

private static final boolean DEV_LOG = BuildConfig.LOG_DEBUG && false;

如果功能没问题,这个开关是关闭的。一旦功能出了问题,我们再手动改成BuildConfig.LOG_DEBUG && true; 打开这个开关进行定位。


总结一下,存在两级log开关:

1 总开关:

根据版本类型来控制,

2 模块开关

为防止某些频繁打印的log影响性能,单独在模块内再用一个开关来控制log输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值