如果您在 Android Dev 上查找日志记录文档你有一个部分写着
The order in terms of verbosity, from least to most is ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose should never be compiled into an application except during development. Debug logs are compiled in but stripped at runtime. Error, warning and info logs are always kept.
此简介的第二部分目前让我感到困惑。这是否意味着
a) 编译器优化器会自动删除所有详细日志记录(就像建议在调试中特别不要那样)
或
b)我应该在发布之前找到所有 Log.v() 并将其替换为“”
我意识到最终用户不希望出现详细的日志记录,我完全同意这一点,但我也相信在开发过程中应该尽可能多地利用日志。我意识到理论上我可以做一些类似的事情
if(IS_VERBOOSE_LOGGING_ENABLED)
{
Log.v("My log message here");
}
但是这仍然会违反建议(假设这意味着在编译时之前删除)。
如果社区提供任何澄清,我们将不胜感激。
最佳答案
最好的办法就是配置 proguard 以消除发布 Artifact 中的所有日志记录。那你就完全不用担心了。
# get rid of all the logging
-assumenosideeffects class android.util.Log {
public static int v(...);
public static int d(...);
public static int w(...);
public static int i(...);
}
关于android - Android 上的详细日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021366/