Log.wtf() 在 Android Studio 2.0 中显示为 Log.e()?

Log.wtf() displays as Log.e() in Android Studio 2.0?

我使用首选项 -> 编辑器 -> 颜色和字体 -> Android Logcat 设置了我的 LogCat 关卡样式,但是当我 Log.wtf() 它显示的样式设置为 Error 级别,而不是像以前那样的 Assert

在 API 23 日,Log.wtf() 不再创建 ASSERT 级别的日志,而是 ERROR 级别。

但是,使用

仍然可以获得ASSERT级别的样式
Log.println(Log.ASSERT, "TAG", "Message");

于 API 23.

框架团队将 WTF(多么可怕的失败)从断言降级为错误

 static int wtf(int logId, String tag, String msg, Throwable tr, boolean localStack,
        boolean system) {
    TerribleFailure what = new TerribleFailure(msg, tr);
    // Only mark this as ERROR, do not use ASSERT since that should be
    // reserved for cases where the system is guaranteed to abort.
    // The onTerribleFailure call does not always cause a crash.
    int bytes = println_native(logId, ERROR, tag, msg + '\n'
            + getStackTraceString(localStack ? what : tr));
    sWtfHandler.onTerribleFailure(tag, what, system);
    return bytes;
}

link

在 android studio 2.0 中,它“按预期”工作。

如果您想查看 WTF 日志显示广告断言,运行您的应用程序在旧设备上 (Api << 23)

也尝试将您的应用定位到不超过 Api 19