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

Why are Log.d() and Log.v() not printing

我的 Activity 中有以下测试代码:

@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”也设置为“Verbose”。为什么 Log.d()Log.v() 不打印任何东西?我可能缺少什么?如有任何建议,我们将不胜感激。

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

The default level of any tag is set to INFO.

(但是在许多 phone 上它实际上设置为 DEBUGVERBOSE。)

已接受的答案无效

我的解决方案:

when your Log.d is not working then Log.wtf is work

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

我什么都试过了。从 log.dlog.wtf。但是没有任何效果。

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

希望这对某人有所帮助。

关闭您的开发者选项然后重新启动您的Phone之后开发者选项 绝对有效!!

修复魅族phone

Settings -> Accessibility -> Developer options -> advanced logging->set "Allow all"

魅族MX4(Flyme 6.1.0.0)、M2(Flyme 6.1.0.0G)、M5(Flyme 6.3.0.0G):

Settings->Accessibility - > Developer Options -> Performance optimization -> Advanced logging -> set "Allow all"

Huawei, logcat not showing the log for my app?

对于其他 phone,在 "developers options" 中搜索:选项 "logging" 并设置 "all"。

对我来说,问题是我实际上在我的开发者设置中禁用了记录器缓冲区,所以转到设置 -> 开发者选项 -> 记录器缓冲区大小并将其设置为 'off' 以外的任何值。

我在 Android Studio 3 中开始发生这种情况。我的 Log.v 印刷品变旧了,但是当我添加新的印刷品时,什么也没有发生。与调试器断点同上。

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

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

同时,我还为主要 activity 添加了 Gradle-aware Make 到我的 Run/Debug 配置中。我不知道那是否有必要,但我保留了它。 ([Main Menu] Run -> Edit Configurations...)

我也遇到过同样的问题。即使按照前面的答案,我也没有找到在 Logcat.

中显示日志的方法

经过我自己的多次尝试,这里是显示日志的(其他)方法:

只需在组合框中选择 "Show only selected application" 即可。之前选择的是"Firebase"

希望您能看到自己的日志 ;-)

我遇到了与此类似的问题。但是在我的例子中,问题是第一个字符串是空的。它在旧版本的 Android Studio 中工作,但在更新后停止在 Android Studio ver 5.6 中工作。 当我使用: Log.d(string1, string2); 在我的日志包装器 class 中, 那么只要 string1 是 "",logcat 就会忽略它。解决方案是添加

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

之前

Log.d(string1, string2);

我希望这可以帮助任何人解决这个问题。

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