Logcat命令详情

Posted zeotoone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logcat命令详情相关的知识,希望对你有一定的参考价值。

logcat是什么?

Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪以及从您的应用使用 Log类编写的消息。

 

格式:[adb] logcat [<option>] ... [<filter‐spec>] ...

logcat 命令参数:
-b <buffer> 加载可供查看的备用日志缓冲区,比如event和radio。默认值是main缓存区
-c 清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)
-d 将缓冲区的log转存到屏幕中然后退出
-f <filename> 将log输出到指定的文件中<文件名>.默认为标准输出(stdout)
-g 打印指定日志缓冲区的大小并退出。
-n <count> 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用
-r <kbytes> 每输出<kbytes>日志文件,默认值是16,需要和-f选项一起使用
-s 设置默认的过滤级别为silent.( -s robin:I )
-v <format> 设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表

 

logcat缓冲区:adb logcat -b <buffer>
main 查看主要日志缓冲区(默认值)
events 查看包含事件相关消息的缓冲区
radio 查看包含无线装置/电话相关消息的缓冲区
system 查看系统组件的log

 

logcat日志输出格式:adb logcat -v <format>
brief 显示优先级/标记以及发出消息的进程的 PID(默认格式)
brief 显示优先级/标记,以及发出消息的进程的 PID(默认格式)
process 只显示 PID
tag 只显示优先级/标记
raw 显示原始的日志消息,没有其他元数据字段
time 显示日期、调用时间、优先级/标记以及发出消息的进程的 PID
threadtime 显示日期、调用时间、优先级、标记以及发出消息的线程的 PID 和 TID
long 显示所有元数据字段,并使用空白行分隔消息

 

logcat过滤日志输出:[<filter‐spec>] 格式:tag:priority
V (verbose)— 详细(最低优先级) D (debug)— 调试
I (info)— 信息 W (warning)— 警告
E (error)— 错误 F (fatal)— 致命
S (silent)— 静默(最高优先级,不会打印任何内容)

例: adb logcat ActivityManager:I MyApp:D *:S
最后一个元素 *:S 将所有标记的优先级设为“静默”,从而确保系统仅显示带有“ActivityManager”和“MyApp”标记的日志消息。

使用 *:S 可有效地确保日志输出受限于您已明确指定的过滤器 —它允许过滤器充当日志输出的“白名单”。

 

注:1.adb logcat 或者 adb shell logcat
2.一般长时间输出log的话建议-f,-n,-r三个参数连用,这样当一个文件日志输出满了之后可以马上在另一个中进行输出。
3.默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log

 

详情查看安卓官网developer.android.com

以上是关于Logcat命令详情的主要内容,如果未能解决你的问题,请参考以下文章

logcat命令详解

cmd命令行中logcat输出日志中文乱码

怎么用eclipse还有logcat命令的过滤log信息

怎么用eclipse还有logcat命令的过滤log信息

在命令行过滤 Logcat 日志

如何在 java 代码中使用 logcat 命令?