关闭

logcat truncate long string

926人阅读 评论(0) 收藏 举报
分类:




$ adb logcat -g
ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b


As already mentioned, you can see the size of the circular buffer with logcat -g. On my Galaxy Nexus, it's 256 KB:

shell@android:/ $ logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 4096b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 4096b, max payload is 4076b

If you need to save a continuous log longer than that, you can just open a new adb shell and type

logcat -f myfile.log

This command redirects log entries to the file myfile.log on an ongoing basis, and won't return until you hit ctrl-c to stop it. Now go back to your original adb shell and type the command you wanted to log, and all its output (more than 256 KB in my case) will get saved to myfile.log.













1 down vote accepted

Because your logcat has reached its max size, see What is the size limit for Logcat?
Try using this code to write your result into a text file in sdcard, then use DDMS to get it.

 public static void appendLog(String text)
{
    File logFile = new File("sdcard/log.txt");
    if (!logFile.exists())
    {
        try
        {
            logFile.createNewFile();
        } catch (IOException e)
        {
            e.printStackTrace();
        }
    }
    try
    {
        // BufferedWriter for performance, true to set append to file flag
        BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
        buf.append(text);
        buf.newLine();
        buf.close();
    } catch (IOException e)
    {
        e.printStackTrace();
    }
}





















for( String line : logMesg.split("\n") ) {
    Log.d( TAG, line );
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:372128次
    • 积分:5998
    • 等级:
    • 排名:第4441名
    • 原创:98篇
    • 转载:426篇
    • 译文:0篇
    • 评论:87条
    文章分类
    最新评论