我使用日志功能来调试我的Android应用。我接近发布我的应用程序,我想降低调试级别。但是我不知道如何禁用其中的一些功能。假设我只想禁用Log.v()日志。
Android doc说here应该删除代码中的Log函数调用,或删除/设置为false :: android :: debbugable选项。第一个选项不符合我的需要,因为我想在我的源代码中记录调用(以便将来更新)。第二个选项禁用所有日志,这对于预发布测试不方便。
您知道如何仅禁用详细(Log.v)日志吗?
非常感谢!
答案 0 :(得分:4)
您可以为Log
- 类创建自己的包装器,可能是这样的:
static class MyLog{
private static int mLevel;
public final static void setLevel(int level){
mLevel = level;
}
public final static void v(String tag, String message){
if( mLevel > 0 ) return;
Log.v(tag, message);
}
public final static void d(String tag, String message){
if( mLevel > 1 ) return;
Log.d(tag, message);
}
public final static void i(String tag, String message){
if( mLevel > 2 ) return;
Log.d(tag, message);
}
//Same for w and e if neccessary..
}
然后,您可以使用MyLog.setLevel(1);
禁用任何详细日志记录(或更高级别以禁用这些日志)。
答案 1 :(得分:4)
如果您要使用Proguard对您的发布进行模糊处理,那么请使用
等行-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
进入配置文件将从您的代码中删除这些类别的日志记录。