Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在构建Android应用程序时禁用一些日志功能?_Android_Logging - Fatal编程技术网

如何在构建Android应用程序时禁用一些日志功能?

如何在构建Android应用程序时禁用一些日志功能?,android,logging,Android,Logging,我使用日志函数调试我的Android应用程序。我即将发布我的应用程序,我想降低调试级别。然而,我不知道如何禁用其中一些功能。假设我只想禁用Log.v()日志 AndroidDoc说应该删除代码中的日志函数调用,或者删除/设置Android::debbugable选项为false。第一个选项不适合我的需要,因为我想在源代码中记录调用(用于将来的更新)。第二个选项禁用所有日志,这不便于发布前测试 您知道如何仅禁用详细(Log.v)日志吗 非常感谢 您可以为Log-类创建自己的包装器,可能类似于: s

我使用日志函数调试我的Android应用程序。我即将发布我的应用程序,我想降低调试级别。然而,我不知道如何禁用其中一些功能。假设我只想禁用Log.v()日志

AndroidDoc说应该删除代码中的日志函数调用,或者删除/设置Android::debbugable选项为false。第一个选项不适合我的需要,因为我想在源代码中记录调用(用于将来的更新)。第二个选项禁用所有日志,这不便于发布前测试

您知道如何仅禁用详细(Log.v)日志吗


非常感谢

您可以为
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)
禁用任何详细日志记录(或更高级别禁用这些日志)。

如果要使用Proguard混淆您的发行版,请在

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}

进入配置文件将从代码中删除这些日志类别。

我将在所有项目中将Log.v替换为//Log.v删除代码中所有可以工作的日志项。我没有计划使用Proguard,但我会记住你的想法,因为它可能对我的其他计划有用。谢谢:)又好又简单,谢谢你!从您的答案和另一个答案中,我了解到没有内置解决方案。我认为这就是拥有5种不同功能的目的。它们只是为了美学而来吗?@Cyctemic可能有,但如果有,我还没有找到。如果您在LogCat中查看日志输出,您可以选择过滤掉某些级别的日志,这样它们就不会完全“无用”。您可以在此处阅读有关日志记录的内容: