Android Logcat 过滤、缓冲区与后台记录
本文整理 Android Logcat 的过滤、缓冲区设置、按应用导出,以及断开电脑后继续记录的方法。
过滤 System.err
Android Studio Logcat 查询框:
1 | package:mine -tag:System.err |
终端命令:
1 | adb logcat '*:V' 'System.err:S' |
增大缓冲区
Android Studio:
1 | Android Studio → Settings… → Tools → Logcat → Logcat cycle buffer size |
单位为 KB,例如填写 65536 表示 64 MB。
设备端缓冲区:
1 | adb logcat -g # 查看当前大小 |
直接写入文件可以避免 Android Studio 显示缓存覆盖旧日志。
导出指定包的当前日志
下面的命令导出当前 Logcat 缓冲区中指定应用的全部级别日志,并保存到本地输出目录。-v threadtime 生成的文件可以导入 Android Studio。
1 | PKG='<package-name>' |
断开电脑后继续记录
在断开 USB 前执行下面的命令。日志会写入手机的 /sdcard/Download/logcat,手机重启会停止记录,但单纯断开 USB 不会。
1 | adb shell ' |
说明:
-T(大写)从命令启动时间开始记录,不会把之前缓冲区中的旧日志写入文件。-r 10240表示单个文件达到 10 MB 时轮转。-n 20表示最多保留 20 个轮转文件。- 若要记录当前缓冲区中已有的旧日志,删除
-T "$START"。
停止记录并取回日志
停止手机上的后台 Logcat:
1 | adb shell ' |
将日志复制到电脑:
1 | adb pull /sdcard/Download/logcat \ |
Android Logcat 过滤、缓冲区与后台记录

