【问题标题】:Why does logcat ignore log statements with tag "PHONE"?为什么 logcat 会忽略带有“PHONE”标签的日志语句?
【发布时间】:2012-01-28 22:54:44
【问题描述】:

我在呼叫按钮上设置了一个监听器,起初我只是想确保监听器正常工作,所以我在其中放置了一个日志语句。但是由于某种神秘的原因,当我单击它时它拒绝打印!所以也许呼叫按钮是空的,我想,并添加了一个 else 语句......但它没有从 if 或 else 语句中打印任何东西!!!它会打印前后的语句,但完全忽略 if-else 结构中的所有内容。代码如下:

ImageButton call = (ImageButton) v.findViewById(R.id.callButton);

Log.d("MEETINGS", "ABOUT TO WORK W/ CALL");
Log.e("MEETINGS", "" + (call != null));

if (call != null) {
    Log.d("PHONE", "setting stuff on call...");
    call.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Log.d("PHONE", "on call : " + phone);
        }
    });
} else {
System.out.println("why is this messed up");
Log.d("PHONE", "call button was null!");
}

System.out.println("what the heck is going on");

在尝试解开 Java 如何决定跳过 if 和 else 的奥秘至少 15 分钟后,我尝试为日志语句赋予不同的标签。

还有尤里卡!那成功了!我将“PHONE”更改为“BLAH”,突然世界又变得有意义了!好奇,我把它改成了“电话”,它拒绝再次打印。

故事的寓意:永远不要在 logcat 中使用标签“电话”或“电话”!!!

有人可以向我解释一下 logcat 如何和/或为什么忽略带有“PHONE”标签的消息吗?

【问题讨论】:

    标签: android tags logcat


    【解决方案1】:

    请参阅isLoggable() 的文档。我猜您的手机上已禁用“PHONE”标签的调试输出,以抑制实际手机应用程序的输出。

    我相信您应该能够在手机的 shell 中运行“getprop log.tag.PHONE”,以检索打印标记为“PHONE”的消息所需的最低严重级别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2014-05-16
      • 2012-12-11
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      相关资源
      最近更新 更多