使用
logcat
命令
查看和跟踪系统日志缓冲区的命令
logcat
的一般用法是:
[
adb
]
logcat
[<
option
>]
...
[<
filter
-
spec
>]
...
下文介绍过滤器和命令选项,详细内容可参见
Listing
of logcat Command Options
。
可以在开发机中通过远程
shell的方式使用
logcat
命令查看日志输出:
如果是在远程
shell中可直接使用命令:
过滤日志输出
每一条日志消息都有一个标记和优先级与其关联。
标记是一个简短
的字符串,用于标识原始消息的来源
(
例如
"View"
来源于显示系统
)
。
优先级是下面的
字符,顺序是从低到高
:
V
—
明细
(
最低优先级
)
D
—
调试
I
—
信息
W
—
警告
E
—
错误
F
—
严重错误
S
—
无记载
(
最高优先级,没有什么会被记载
)
通过运行
logcat
,可以获得一个系统中使用的标记和优先级的列表,观察列表的
前两列,给出的格式是
<priority>/<tag>
。
这里是一个日志输出的消息,优
先级是“
I
”,标记是“
ActivityManager
”:
I
/
ActivityManager
(
585
):
Starting
activity
:
Intent
{
action
=
android
.
intent
.
action
...}
如果想要减少输出的内容,可以加上过滤器表达式进行限制,
过滤器可以限制系统只输出感兴趣的标记
-
优先级组合。
过
滤器表达式的格式是
tag:priority ...
,其中
tag
是标记,
priority
是
最小的优先级,
该标记标识的所有大于等于指定优先级的消息被写入日志。也可以在一个过滤器表达式中提供多个这样的过滤,它们之间用空格隔开。
下面给出的例子是仅输出标记为“
ActivityManager
”并且优先级大于等于“
Info
”和标记为“
MyApp
”并且优先级大于等于“
Debug
”的日志:
adb logcat
ActivityManager
:
I
MyApp
:
D
*:
S
上述表达式最后的
*:S
用于设置所有标记的日志优先级为
S
,这样可以确保仅有标记为“
View”(译者注:应该为
ActivityManager,原文可能是笔误)和“
MyApp”的日志被输出,使用
*:S
是可以确保输出符合指定的过滤器设置的一种推荐的方式,这样
过滤器就成为了日志输出的“白名单”。
下面的表达是显示所有优先级大于等于“
warning
”的日志:
如果在开发用电脑上运行
logcat
(
相对于运行运程
shell
而言
)
,也可以通过
ANDROID_LOG_TAGS
环境变量设置默认的过滤器表达式:
export
ANDROID_LOG_TAGS
=
"ActivityManager:I
MyApp:D *:S"
需要注意的是,如果是在远程
shell
或是使用
adb shell logcat
命令运行
logcat
,
ANDROID_LOG_TAGS
不会导出到模拟器或手机设备上。
控制日志格式
日志消息在标记和优先级之外还有很多元数据字段,这些字段可
以通过修改输出格式来控制输出结果,
-v
选项加上下面列出的内容可以控制输出字段:
brief
—
显示优先级
/标记和原始进程的
PID (默认格式
)
process
—
仅显示进程
PID
tag
—
仅显示优先级
/
标记
thread
—
仅显示进程:线程和优先级
/
标记
raw
—
显示原始的日志信息,没有其他
的元数据字段
time
—
显
示日期,调用时间,优先级
/
标记,
PID
long
—显示所有的元数据字段并且用空行分隔消息内容
可以使用
-v
启动
logcat
来控制日志格式:
[
adb
]
logcat
[-
v
<
format
>]
例如使用
thread
输出格
式:
注意只能在
-v
选项中指定一种格式。
Viewing Alternative Log
Buffers
Android
日
志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用
-b
选项,以下是可以指定的缓冲区:
radio
—
查看包含在无线
/
电话相关的缓冲区消息
events
—
查看事件相关的消息
main
—
查看主缓冲区
(
默认缓冲区
)
-
b
选项的用法:
[
adb
]
logcat
[-
b
<
buffer
>]
例如查看
radio缓冲区:
adb
logcat简单举例:
1、导入日志到sd卡
分享到:
相关推荐
然而,通过替换`system/core/logcat`目录,我们可以实现将kernel日志整合进adb logcat的输出中,这样开发者无需额外的工具就能查看到完整的系统运行情况。 这个过程涉及到几个关键步骤: 1. **替换logcat源码**:...
通过使用ADB logcat,开发者可以查看、过滤和分析这些日志,从而诊断错误、调试代码和优化性能。 标题提到的“ADB logcat查询工具”通常是指一种图形化界面工具,如描述中提到的"ADBConsole",这种工具是为了方便...
- 使用命令`adb logcat`可以查看设备上所有应用的日志输出。 - 若要抓取特定应用的日志,可以使用`adb logcat | grep <包名>`命令。例如,文中提到的`adb logcat | grep com.bankeys.inputpin > ./log.txt`,这条...
adb logcat查看日志工具,注意:必须有root权限才能查看完整logcat信息。详细介绍请点击http://developer.t-firefly.com/forum.php?mod=viewthread&tid=202&page=1&extra=#pid369
android的日志查看工具,运行依赖于adb logcat,所以必须配置好adb的环境变量。
如果需要保存日志以供后续分析,可以使用重定向操作将`adb logcat`输出保存到文件: ``` adb logcat > log.txt ``` 6. **51-android.rules** 在Android开发中,为了允许adb访问设备,通常需要在`/etc/udev/...
这样,无论是在Android Studio的LogCat中,还是通过adb命令行查看日志,都能正确显示中文内容。 总的来说,让Android的LogCat支持中文输出涉及对日志输出方式进行调整、选择合适的日志库和优化IDE设置。通过这些...
我们在手机调试中通常会需要通过adb命令来读取手机的日志信息 例如使用adb logcat 但是读取log后,log文本中除了期望的数据,还有其他很多数据,为了有针对性的将期望数据筛选出来如电池电压,温度,电量等信息,...
使用`adb logcat -c`清除缓存,然后运行`adb logcat`,将只显示新产生的日志: ``` adb logcat -c && adb logcat ``` 5. **过滤log文件** 对于已经保存的日志文件,同样可以使用`grep`进行过滤。例如,要从`...
通常,我们可以编写一个批处理文件,其中包含`adb logcat -v long > log.txt`这样的命令,这将把日志输出到一个文本文件中,方便查看和分析。 接着,`logcat_delete_all.bat`可能是一个清除`Logcat`中所有日志的...
在Android开发过程中,调试是必不可少的一个环节,而`adb logcat`命令是开发者最常用的工具之一,用于查看和分析Android设备或模拟器上的系统日志。`logcat`可以帮助我们追踪应用程序的运行状态,捕获错误信息,以及...
"Logview"工具扩展了`adb logcat`的功能,提供了一个图形用户界面(GUI),使得日志查看更加直观和方便。它的主要特点包括: 1. **可视化界面**:与命令行相比,logview提供了一个可视化的窗口,可以实时展示日志流...
通过adb命令行工具,开发者可以远程获取设备或模拟器上的Logcat日志,但这种方式操作相对繁琐。 二、logcatviewer项目简介 logcatviewer是专门为Android开发者设计的一个开源日志查看器,它提供了一个图形化的用户...
### 解决华为系列手机调试时不能打印Logcat日志信息 在进行Android应用开发的过程中,开发者经常需要通过Logcat(Log Catcher)工具来获取应用运行时的日志信息,这对于定位问题、调试程序有着至关重要的作用。然而...
android的日志查看工具,运行依赖于adb logcat,所以必须配置好adb的环境变量。 修复部分乱码问题
- 除了ADB本身,还有很多基于ADB的第三方工具,如DDMS(Dalvik Debug Monitor Service)、Android Logcat Viewer等,它们提供了图形化的日志查看和分析功能,使得开发者能更高效地工作。 综上所述,ADB是Android...
1.安装adb ...2.个人常用命令 打开cmd窗口,手机连接上电脑并打开调试模式,再直接输命令就好了。下面将以 拿Unity制作的游戏的日志 举例: ...adb logcat -s Unity 举例二:输出Unity日志到指定文件:
本文将详细介绍如何在Android shell命令行中使用adb logcat命令进行有效的日志过滤,提高开发效率。 首先,我们可以通过指定白名单来过滤输出,只显示我们需要的日志。这是通过管道操作与grep命令结合实现的。例如...