Log.d在Android Studio的Logcat中不显示log.d

11

Android Studio没有显示我在代码中写的任何日志。我已经尝试将日志设置为详细和调试。我正在使用“无过滤器”。为什么我的“Oncreatetestlog”没有出现在我的Logcat中?

package com.example.keydown;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState != null) {
            Log.d("Oncreatetestlog", "onCreate() Restoring previous state");
            /* restore state */
        } else {
            Log.d("Oncreatetestlog2", "onCreate() No saved state available");
            /* initialize app */
        }
    }
}

你在Android Studio中选择了正确的选项吗? - Mohammed Atif
如果(savedInstanceState!= null),你是否将任何内容放入savedInstanceState中使其不为空? - justHooman
@Minhtdh 好的,既然有 else 语句,那么它应该总是会显示一些东西。 - P.Yntema
@MohammedAtif 你说的“正确选项”是什么意思? - P.Yntema
日志记录器的左侧有许多选项,有时对它们进行微调会暂时停止日志记录。 - Mohammed Atif
你能发布全屏logcat的截图吗? - Mohammed Atif
6个回答

18

前往 文件(File) -> 无效化缓存 / 重启 (invalidate caches / Restart)。然后让Android Studio重新索引你的项目。这对我有用。


我尝试过在Logcat中搜索“Oncreatetestlog”,但没有显示任何内容。仍然不能写入。 - P.Yntema
当新的日志记录对Android模拟器没有任何影响时,这对我很有帮助。 - Štěpán
1
对于任何回来的人:修改筛选器。我的设置为 Firebase,原因不明,这有时但并非总是会隐藏您的消息。不确定为什么。 - Kraigolas

11

经过数小时的搜索和尝试,我发现问题并不是由于Android Studio,而是因为我的手机不允许记录日志。请参考这个答案获得更多信息。


7
如果Log.d在您的Logcat中没有显示,请将Log.d替换为Log.wtf,就像这样:
Log.d("tag",""+catstr);

随着:

Log.wtf("tag",""+catstr);

它有效了...愉快的编码;)


我发誓我以为这个StackOverflow的答案是一个玩笑。但它并不是!它真的对我有用。我从来没有想到为什么Log.d停止记录我的日志,但这个方法非常好用! - gcdev

7
你也可以使用 System.out.println() 来在 logcat 中显示文本。
替换为:
Log.d("Oncreatetestlog", "onCreate() Restoring previous state");

随着

System.out.println("Oncreatetestlog onCreate() Restoring previous state");

1
请在IDE底部“调试”右侧的“运行”中查看。 在我的情况下,我实际上按照指示做了一切,但仍然无法正常工作。所以我去检查了那里,并发现所有的日志都在那里。 谢谢

0
在我的情况下,我不得不点击位于日志面板左侧边栏的“重新启动Logcat”按钮,然后它开始显示所有的日志。希望这对其他人也有所帮助 :D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接