logcat命令详解

logcat命令详解本文详细介绍了 Android 系统中的 logcat 命令行工具 包括其基本用法 不同缓冲区的作用 命令参数如 b c f 等 以及如何通过 v 选项进行格式化输出和设置优先级

大家好,欢迎来到IT知识分享网。

一、android log系统

logcat命令详解

1.1 logcat介绍

logcat

android
中的⼀个命令⾏⼯具,可以⽤于得到程序的
log
信息
log
类是⼀个⽇志类,可以在代码中使⽤
logcat
打印出消息
常见的日志记录方法包括:
⽅法
描述
v(String,String) (vervbose)
显示全部信息
d(String,String)(debug)
显示调试信息
i(String,String)(information)
显示⼀般信息
w(String,String)(waning)
显示警告信息
e(String,String)(error)
显示错误信息

例如:

//
开发过程中获取
log
Log.i(“MyActivity”,”MyClass.getView() – get item number”+position);
//adb
获取
log
adb logcat
adb logcat
输出的⽇志格式如下:
I/ActivityManager( 1754): Waited long enough for: ServiceRecord{2b24178c u0
com.google.android.gms/.checkin.CheckinService}

1.2.logcat命令格式

语法格式:
[adb] logcat [] … [
] …
PC
端使⽤:
adb logcat
shell
模式下使⽤:
logcat

二、logcat缓冲区

2.1 缓冲区介绍

android log
输出量巨⼤,特别是通信系统的
log
,因此,
android

log
输出到不同的缓冲区中,⽬前定义了
四个
log
缓冲区:
1

Radio
:输出通信系统的
log
2

System
:输出系统组件的
log
3

Event
:输出
event
模块的
log
4

Main
:所有
java
层的
log
,遗迹不属于上⾯
3
层的
log
缓冲区主要给系统组件使⽤,⼀般的应⽤不需要关⼼,应⽤的
log
都输出到
main
缓冲区中
默认
log
输出(不指定缓冲区的情况下)是输出
System

Main
缓冲区的
log

2.2 缓冲区模型

logcat命令详解

三、logcat命令参数

参数 描述
-b
加载⼀个可使⽤的⽇志缓冲区供查看,⽐如
event

radio
。默认值是
main
-c
清除缓冲区中的全部⽇志并退出(清除完后可以使

-g
查看缓冲区)
-d
将缓冲区的
log
转存到屏幕中然后退出
-f

log
输出到指定的⽂件中
<
⽂件名
>.
默认为标准输
出(
stdout
-g
打印⽇志缓冲区的⼤⼩并退出
-n
设置⽇志的最⼤数⽬,默认值是
4
,需要和
-r
选项
⼀起使⽤
-r
每时输出⽇志,默认值是
16
,需要和
-f
选项⼀起使
-s
设置过滤器
-v
设置输出格式的⽇志消息。默认是短暂的格式。⽀
持的格式列表
⼀般⻓时间输出
log
的话建议
-f

-n

-r
三个参数连⽤,这样当⼀个⽂件⽇志输出满了之后可以⻢上在另⼀个中进⾏输出

3.1 实例

//
将缓冲区的
log
打印到屏幕并退出
adb logcat -d
//
清除缓冲区
log

testCase
运⾏前可以先清除⼀下)
adb logcat -c
//
打印缓冲区⼤⼩并退出
adb logcat -g
//
输出
log
adb logcat -f /data/local/tmp/log.txt -n 10 -r 1

四、logcat格式化输出

4.1 参数说明

⽇志消息包含⼀个元数据字段,除了标签和优先级,您可以修改输出显示⼀个特定的元数据字段格式的消息。为此,您使⽤-v
选项来指定⼀个⽀持的输出格式。⼀下为⽀持的格式:
格式 说明
brief
显示优先级
/
标记和过程的
PID
发出的消息(默认格
式)
process
只显示
PID
tag
只显示优先级
/
标记
raw
显示原始的⽇志消息,没有其他元数据字段
time
调⽤显示⽇期、时间、优先级
/
标签和过程的
PID
出消息
threadtime
调⽤显示⽇期、时间、优先级、标签遗迹
PID TID
线程发出的消息
long
显示所有元数据字段与空⽩⾏和单独的消息

logcat
开始,指定想要输出格式
-v
选项:
[adb] logcat [-v ]
adb logcat –v thread
只能指定⼀个输出格式
-v

4.2 例⼦

logcat命令详解

五、logcat优先级

5.1 优先级语法

优先级使⽤字符标识,⼀下优先级从低到⾼
V –Verbose(
最低优先级
)
D – Debug
I – Info
W – Warning
E – Error
F – Fatal
S – Silent
为了减少不想要⽇志的输出,可以建⽴⼀个过滤器
过滤语法:
tag

priority
//
过滤
TAG

ActivityManager
输出级别⼤于
I
的⽇志与
TAG

MyApp
输出级别⼤于
D
的⽇志
adb logcat ActivityManager:I My App:D *:S
adb logcat *:W
设置过滤级别为
W
以上
如果⽤的⽐较多可以设置环境变量:
export ANDROID_LOG_TAGS=”ActivityManager:I MyApp:D*:S”

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114290.html

(0)
上一篇 2025-12-09 16:26
下一篇 2025-12-09 16:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信