为什么某些日志调用没有显示在Logcat中



我有一个这样的代码片段:

Log.i(tmpTag, "B4 URL CHANGE: URL in response = " + responseURL + ".nLast URL = " + mLastUrl);    //SHOWN IN LOGCAT
if (m_CurrentEventName.contentEquals("forgotpassword")) {
mLastUrl = responseURL.replace("../../../", "");
} else if (m_CurrentEventName.contentEquals("tskstdlogin") &&     responseURL.indexOf("changepassword") != -1) {
mLastUrl = responseURL.replace("../../../", "");
} else {
mLastUrl = responseURL;
}
Log.i(tmpTag, "AFTER URL CHANGE: URL in response = " + responseURL + "nLast URL = " + mLastUrl);    //NOT SHOWN IN LOGCAT

我期待两个日志语句,但只有第一个显示在LogCat中,如下所示:

 08-27 09:39:06.867: I/bindDataTask(1994): B4 URL LOOP: URL in response = "some internal url".
 08-27 09:39:06.867: I/bindDataTask(1994): Last URL = "some internal url".

知道为什么会发生这种事吗?

Logcat消息除了包含标记和优先级之外,还包含许多元数据字段。你的第一条日志行被执行了,所以它被打印了出来,但其他日志消息没有打印出来,因为发生了一些异常,你的程序控制转到了try-catch块的catch部分。。。

在这里。。。

    try{
    Log.i(tmpTag, "B4 URL CHANGE: URL in response = " + responseURL + ".nLast URL = " + mLastUrl);    //SHOWN IN LOGCAT
    ...
    ...
   // Exception occured..GOTO catch block
    ..
    Log.i(tmpTag, "AFTER URL CHANGE: URL in response = " + responseURL + "nLast URL = " + mLastUrl);    //NOT SHOWN IN LOGCAT
    .....
    }catch(Exception e){
    Log.e("Exception here...",e.toString());
    }

最新更新