android开发中应该怎么处理LOG

在google开源的iosched中他们是这样写的

 if (BuildConfig.DEBUG || Config.IS_DOGFOOD_BUILD || Log.isLoggable(tag, Log.DEBUG)) {
     Log.d(tag, message);
 }

但这这样写的话,调试时非常麻烦,需要在avd中运行指令才能执行,而且据说要4.0以上(看别人博客说的,并未实测),反正我觉得很麻烦
想知道大家是怎么处理这个问题的

阅读 5.1k
3 个回答

proguard的时候 加上这个:

227 -assumenosideeffects class android.util.Log {
228 ▸ public static *** v(...);
229 ▸ public static *** d(...);
230 ▸ public static *** i(...);
231 ▸ public static *** w(...);
232 ▸ public static *** e(...);
233 }

设置一个log_debug的参数,加一个类LogUtil,log_debug为false的时候不输出log

一般不直接用系统的Log了
你可以看看
这个

类似这种..自己写几个开关控制要不要显示,要不要记录到sd卡上
或者要不要把log传到服务器之类的...

打release包的时候记得把开关关了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题