为什么Log.d()和Log.v()不打印

时间:2015-02-10 15:02:11

标签: android-studio logcat

我的活动中有以下测试代码:

@Override
public void onStart() {
    super.onStart();
    Log.e(CLASS_NAME, "ERROR onStart()");
    Log.w(CLASS_NAME, "WARN onStart()");
    Log.i(CLASS_NAME, "INFO onStart()");
    Log.d(CLASS_NAME, "DEBUG onStart()");
    Log.v(CLASS_NAME, "VERBOSE onStart()");

在Android Studio的 logcat 视图中,它仅打印:

02-10 15:56:10.190    6194-6194/org.example.my_app E/MyActivity﹕ ERROR onStart()
02-10 15:56:10.190    6194-6194/org.example.my_app W/MyActivity﹕ WARN onStart()
02-10 15:56:10.190    6194-6194/org.example.my_app I/MyActivity﹕ INFO onStart()

在框顶部,菜单设置为Log level: “Verbose”,如果我进入旁边的菜单,请选择“Edit filter configuration”“by Log Level”也设置为{{1 }}。为什么“Verbose”Log.d()没有打印任何内容?我可能会缺少什么?任何建议将不胜感激。

10 个答案:

答案 0 :(得分:25)

接受的答案无效

我的解决方案:

  

当您的Log.d无效时,Log.wtf正在运作

它对我有用,可能对其他人有帮助,谁找到解决方案

答案 1 :(得分:15)

Android Studio会过滤已记录的行,但Log本身可能会在记录时过滤某些级别。见Log.isLoggable

  

任何标记的默认级别都设置为INFO

(但在许多手机上,它实际上设为DEBUGVERBOSE。)

答案 2 :(得分:6)

修复魅族手机

  

设置 - >辅助功能 - > 开发人员选项 - >高级   logging->设置“全部允许”

对于魅族MX4(Flyme 6.1.0.0),M2(Flyme 6.1.0.0G),M5(Flyme 6.3.0.0G):

  

设置 - >辅助功能 - > 开发者选项 - >性能   优化 - >高级日志记录 - >设置“全部允许”

Huawei, logcat not showing the log for my app?

对于“开发者选项”中的其他手机搜索:选项“记录”并设置“全部”。

答案 3 :(得分:5)

我正在尝试一切。从content::mojom::CreateViewParamsPtr myViewPtr = content::mojom::CreateViewParams::New(); //or shorter auto myViewPtr = content::mojom::CreateViewParams::New(); log.d。但没有任何效果。

然后我重新启动了我的Android Studio。之后,调试器再次开始工作。

希望这对某人有帮助。

答案 4 :(得分:4)

关闭开发者选项然后重新启动手机之后开发者选项肯定会有效!

答案 5 :(得分:2)

我也面临着同样的问题。即使遵循前面的答案,我也没有找到在Logcat中显示日志的方法。

在我自己进行多次尝试之后,这是显示日志的(其他)方法:

Logcat screenshot

只需在组合框中选择"Show only selected application"即可完成工作。以前是"Firebase"被选中。

希望您会看到您的日志;-)

答案 6 :(得分:2)

我有与此类似的问题。但是在我的情况下,问题是第一个字符串为空。它可以在旧版Android Studio中运行,但在更新后停止在Android Studio 5.6版中运行。 当我使用时: Log.d(string1, string2);在我的日志记录包装程序类中, 那么每当string1为“”时,logcat都会忽略它。解决方法是添加

if(string1 == null || string1 == "") {
    string1 = "defaultString";
}

之前

Log.d(string1, string2);

我希望这对解决这个问题的人有帮助。

答案 7 :(得分:0)

对我来说问题是我在开发人员设置中实际上已经禁用了记录器缓冲区,因此请转到设置 - >开发者选项 - >记录器缓冲区大小并将其设置为任何不“关闭”的内容。

答案 8 :(得分:0)

在Android Studio 3中我开始发生这种情况。我正在使用旧版本的Log.v进行打印,但是当我添加新版本时,没有任何事情发生。与调试器断点同上。

清理解决方案并重新启动Android Studio对我有用,但有一个更简单的解决方案。

Disable Instant Run。似乎Instant Run无法识别新的Log.v或断点。

在此过程中,我还为主要活动添加了Gradle-aware Make到我的运行/调试配置。我不知道这是否必要,但我保留了它。 ([Main Menu] Run -> Edit Configurations...

Add Gradle-aware Make to Project Run configuration

答案 9 :(得分:0)

我有同样的问题。我关闭并打开了开发人员选项和USB调试,所有日志均正常工作。我还在开发人员选项中启用了gpu调试层(我认为这没有帮助)。