【问题标题】:Why does Android Studio's logcat not fully output logs?为什么 Android Studio 的 logcat 不能完全输出日志?
【发布时间】:2018-12-28 18:18:08
【问题描述】:

我使用循环输出日志,但是在logcat中并不是全部打印出来,有些丢失的日志信息也没有显示出来。怎样才能完整输出所有信息?

for (int i=0;i<(mSpaceCount + mPulseCount);i++)
{
    Log.i("flag", "~~~~m_bitDateF[i] : "+m_bitDateF[i]+" i :"+i);
}

输出如下:

............

12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :434
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :435
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :436
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :437
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :438
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :439
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :440
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :441
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :442
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :443
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :444
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :445
12-28 18:43:24.215 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :446
12-28 18:43:24.216 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :447
12-28 18:43:24.216 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :448
12-28 18:43:24.216 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :449
12-28 18:43:24.219 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :601
12-28 18:43:24.219 20116 20503 I flag    : ~~~~m_bitDateF[i] : 3.5 i :604
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :749
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :756
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :757
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :758
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :759
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :760
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :761
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :762
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :763
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :764
12-28 18:43:24.222 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :765
12-28 18:43:24.224 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :837
12-28 18:43:24.224 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :838
12-28 18:43:24.224 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :839
12-28 18:43:24.224 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :840
12-28 18:43:24.224 20116 20503 I flag    : ~~~~m_bitDateF[i] : -3.5 i :841

............

可以看到在449到601和604到749之后跳过了输出,但是应该执行循环,但是没有输出。不知道为什么没有全部输出,而且问题是随机的,有时会正常输出。如何让logcat完整输出日志?

【问题讨论】:

    标签: android logging logcat


    【解决方案1】:

    查看 Logcat 时,您应该查看左侧的时间戳。 18:43:24.215 例如。 .215 是毫秒。如果您查看以相同毫秒结束的输出,您可以看到每毫秒输出大约 20 行输出。

    现在,看看你跳过数字的输出,看看毫秒。

    18:43:24.215 : i :446
    18:43:24.216 : i :447
    18:43:24.216 : i :448
    18:43:24.216 : i :449
    // it's skipping here //
    18:43:24.219 : i :601
    18:43:24.219 : i :604
    

    它跳过了大约 3 毫秒。

    所以,发生的事情是您正在注销所有内容,这只是让 LogCat 过载,无法打印出来。

    如果您确实想注销所有这些信息,则需要更改您的登录方式。

    例如,您可以创建一个String,附加每个循环,然后在完成后记录完整的输出。请注意,您可以使用StringBuilder 以获得更好的结果。

    // Create a String to hold all the log information.
    String log = "";
    
    for (int i=0 ;i < (mSpaceCount + mPulseCount); i++) {
        // Append the log information to our String. 
        // Add a "\n" to add a new line at the end of each line.
        log += "~~~~m_bitDateF[i] : " + m_bitDateF[i] + " i :" + i + "\n";
    }
    
    // Finally, log the output.
    Log.i("flag", log);
    

    【讨论】:

      猜你喜欢
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多