是否必须在if(调试)中包含android日志语句?

是否必须在if(调试)中包含android日志语句?,android,Android,我很惊讶地得知,必须在一个 if(DEBUG) { Slog.d(...); } 这很麻烦 在《圣经》中,它似乎是说一个人不必——这个 api似乎类似于log4j,其中使用属性文件通过外部方式配置日志级别,并且只输出高于日志级别的日志 我本以为Log.d的实现中会包含if,这样开发人员就不必将其封装起来 class Log { void d() { if(DEBUG) {....} } ... } 有人能澄清一下吗 注意:我不希望使用几个地方提到的proguard。我

我很惊讶地得知,必须在一个

if(DEBUG) {
  Slog.d(...);
}

这很麻烦

在《圣经》中,它似乎是说一个人不必——这个 api似乎类似于log4j,其中使用属性文件通过外部方式配置日志级别,并且只输出高于日志级别的日志

我本以为Log.d的实现中会包含if,这样开发人员就不必将其封装起来

class Log {
  void d() {
    if(DEBUG) {....}
  }
...
}
有人能澄清一下吗


注意:我不希望使用几个地方提到的proguard。

我一直在使用它。当您发布应用程序时,它确实很有帮助。 你真的不想在生产应用程序上打印所有日志。
通过使用简单的静态布尔调试,您可以轻松地打开和关闭调试。

如何在代码内部设置调试值?您是否必须在代码中将其作为公共静态布尔变量重新编译。例如,我会使用一个Helper类来保存我的全局标志,并使用一个语句来检查它,就像if Helper.DEBUG{//code},所以必须重新编译