logcat使用方法
logcat用法 -回复
logcat用法-回复关于logcat的用法,我们将逐步回答以下问题:1. 什么是logcat?2. 为什么使用logcat?3. 如何使用logcat?4. logcat的常用参数有哪些?5. 如何将logcat输出保存到文件中?6. 如何过滤和搜索logcat日志?7. logcat如何与Android Studio或其他IDE集成?8. 如何在自定义应用程序中使用logcat?9. logcat的局限性和潜在的解决方案。
1. 什么是logcat?logcat是Android系统的一部分,它用于捕获和查看设备或模拟器上正在运行的Android应用程序的日志信息。
这些日志信息包括应用程序的运行状态、错误信息、警告和调试输出等。
2. 为什么使用logcat?使用logcat可以帮助开发人员在应用程序开发和调试过程中快速有效地定位和解决问题。
通过查看logcat日志,开发人员可以了解应用程序的运行情况,包括错误、异常和其他调试信息。
这有助于提高应用程序质量和开发效率。
3. 如何使用logcat?在Android设备或模拟器上使用logcat,可以通过命令行界面(如终端或命令提示符)或者通过ADB(Android调试桥)工具使用。
一般情况下,可以在终端或命令提示符中输入"adb logcat"命令来查看设备上的logcat日志。
4. logcat的常用参数有哪些?logcat命令具有多个参数以帮助开发人员筛选和定制日志的输出。
一些常用的参数包括:- -d: 仅输出当前日志缓冲区中的日志,并退出logcat。
- -s: 根据指定的标签选择日志输出。
- -v: 设置日志输出的格式和详细度级别。
- -f: 将日志输出保存到指定文件中。
- -c: 清除日志缓冲区。
- -e: 打印发生的崩溃或异常信息。
5. 如何将logcat输出保存到文件中?使用logcat命令的"-f"参数可以将日志输出保存到文件中。
android studio logcat用法
android studio logcat用法
AndroidStudioLogcat是一个强大的调试工具,可以帮助开发人员查找和解决Android应用程序中的问题。
它可以显示应用程序中的各种日志消息和错误,并提供搜索和过滤功能,使开发人员能够快速定位并解决问题。
使用Android Studio Logcat,开发人员可以执行以下操作: 1. 查看应用程序日志:Logcat可以显示应用程序中的各种日志消息,例如调试消息、错误消息、信息消息等。
2. 过滤日志:开发人员可以使用过滤器来隐藏或显示特定类型的日志消息,并只查看他们感兴趣的消息。
3. 搜索日志:Logcat具有搜索功能,使开发人员可以查找特定的日志消息或关键字。
4. 导出日志:开发人员可以将日志消息导出到文件中,以便稍后使用或与其他人共享。
要使用Android Studio Logcat,你需要打开Android Studio 并选择Logcat选项卡。
然后,你可以选择要查看的日志消息类型,并使用过滤器和搜索功能来查找和解决问题。
总之,Android Studio Logcat是一个非常实用的工具,可以帮助开发人员更轻松地调试和解决Android应用程序中的问题。
- 1 -。
android studio logcat 用法
Logcat是Android Studio中用于调试Android应用程序的工具。
它能够记录应用程序的日志信息,包括错误、警告、信息等,帮助开发者诊断和解决问题。
以下是在Android Studio中使用logcat的一些基本用法:1. 打开Android Studio并打开你的Android项目。
2. 确保你的Android设备或模拟器已连接并与Android Studio进行通信。
3. 在Android Studio的底部面板中,找到"Logcat"窗口。
如果没有显示,可以通过点击"View"菜单,然后选择"Tool Windows" -> "Logcat"来打开它。
4. 在Logcat窗口中,你可以看到应用程序的日志信息。
默认情况下,它会显示所有的日志消息,包括错误、警告、信息等。
5. 你可以通过点击Logcat窗口右上角的过滤按钮来筛选只显示特定级别的日志消息,例如只显示错误消息或警告消息。
6. 当应用程序运行时,Logcat会实时显示日志消息。
你可以通过查看这些消息来了解应用程序的运行状态、诊断问题以及找到潜在的错误。
7. 如果你想在Logcat中添加自定义的日志消息,可以使用Android Studio提供的Logcat命令。
例如,你可以使用`Log.d()`方法来输出调试信息,或者使用`Log.e()`方法来输出错误信息。
这些信息将在Logcat窗口中显示。
8. 如果你想保存Logcat的日志文件,可以通过点击Logcat窗口右上角的"Save"按钮来实现。
这将把日志文件保存到你的项目目录下的"logs"文件夹中。
以上是在Android Studio中使用logcat的基本用法。
通过仔细分析日志信息,你可以更好地理解应用程序的运行情况,并找出潜在的问题进行修复。
logCat详细用法
Android日志系统提供了记录和查看系统调试信息的功能。
日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用.使用logcat命令你可以用 logcat 命令来查看系统日志缓冲区的内容:1.[adb] logcat [<option>] ... [<filter-spec>] ...复制代码请查看Listing of logcat Command Options ,它有对logcat命令有详细的描述 .你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。
1.$ adb logcat复制代码你也这样使用:1.# logcat复制代码过滤日志输出每一个输出的Android日志信息都有一个标签和它的优先级.日志的标签是系统部件原始信息的一个简要的标志。
(比如:“View”就是查看系统的标签).优先级有下列集中,是按照从低到高顺利排列的:V — Verbose (lowest priority)D — DebugI — InfoW — WarningE — ErrorF — FatalS — Silent (highest priority, on which nothing is ever printed)在运行logcat的时候在前两列的信息中你就可以看到 logcat 的标签列表和优先级别,它是这样标出的:<priority>/<tag> .下面是一个logcat输出的例子,它的优先级就似乎I,标签就是1.ActivityManage: I/ActivityManager( 585): Starting activity: Intent{ action=android.intent.action...}复制代码为了让日志输出能体现管理的级别,你还可以用过滤器来控制日志输出,过滤器可以帮助你描述系统的标签等级.过滤器语句按照下面的格式描tag:priority ... , tag 表示是标签,priority 是表示标签的报告的最低等级. 从上面的tag的中可以得到日志的优先级. 你可以在过滤器中多次写tag:priority .这些说明都只到空白结束。
logcat用法 -回复
logcat用法-回复什么是logcat?Logcat是Android设备的一个命令行工具,用于查看设备上的系统日志。
它记录了Android系统中的各种事件和错误消息,并可帮助开发人员进行应用程序调试和故障排查。
Logcat日志是Android开发中重要的调试工具,它将运行时发生的事件记录下来,并以文本文件的形式保存在设备上。
这些日志包含了应用程序和设备的各种信息,如应用程序的运行状态、异常情况、系统服务和组件的交互等。
Logcat用法:1. 使用ADB命令行工具连接设备首先,我们需要使用ADB(Android Debug Bridge)命令行工具连接到要调试的Android设备。
ADB是Android开发套件的一部分,它提供了与设备通信的接口。
我们可以使用以下命令连接到设备:adb connect <设备IP地址>这将启动ADB并连接到设备。
确保设备和开发机在同一个局域网内,且开发机具有ADB的运行权限。
2. 打开终端窗口并输入Logcat命令连接设备后,我们需要打开一个终端窗口,并输入Logcat命令来查看设备上的系统日志。
以下是常用的Logcat命令:adb logcat: 显示所有的log消息adb logcat -d: 显示所有的log消息,并退出adb logcat <标签>: 仅显示指定标签的log消息adb logcat -s <标签1> <标签2>: 仅显示指定标签1和标签2的log 消息adb logcat -c: 清除log消息缓存adb logcat -v <模式>: 指定显示的log模式,例如- v long显示详细log 信息,- v brief显示简洁log信息我们可以根据需要自定义Logcat命令的参数来进行过滤和定制。
3. 分析和解读Logcat消息一旦我们开始捕捉设备上的系统日志,Logcat就会输出大量的消息。
logcat使用
-- " -d -f <log>" 组合命令:
可以将日志保存到手机上的指定位置,对不能一直用电脑连着手机收集日志的场景非常有用。
adb logcat -d -v /sdcard/mylog.txt
2、设置默认的过滤器, 如 我们想要输出 "System.out" 标签的信息, 就可以使用:
-- V : Verbose (明细);
-- D : Debug (调试);
-- I : Info (信息);
-- W : Warn (警告);
-- E : Error (错误);
-- F: Fatal (严重错误);
-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
5、输出最近的日志 : 使用adb logcat -t 5 命令, 可以输出最近的5行日志, 并且不会阻塞;
6、查看日志缓冲区信息 : 使用 adb logcat -g 命令;
7、加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令;
-- Android中的日志缓冲区 : system缓冲区 - 与系统相关的日志信息, radio缓冲区 - 广播电话相关的日志信息, events缓冲区 - 事件相关的日志信息, main缓冲区 - 默认的===========================
选项解析 :
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
Logcat小技巧
Logcatlogcat是Android中一个命令行工具,可以用于得到程序的log信息。
logcat使用方法如下所示:logcat [options] [filterspecs]logcat的选项包括:-s 设置过滤器,例如指定'*:s'-f <filename> 输出到文件,默认情况是标准输出。
-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f-n <count> Sets max number of rotated logs to <count>, default 4-v <format> 设置log的打印格式, <format> 是下面的一种:brief process tag thread raw time threadtime long-c 清除所有log并退出-d 得到所有log并退出(不阻塞)-g 得到环形缓冲区的大小并退出-b <buffer> 请求不同的环形缓冲区('main' (默认), 'radio', 'events')-B 输出log到二进制中。
过滤器的格式是一个这样的串:<tag>[:priority]其中<tag> 表示log的component,tag (或者使用* 表示所有) ,priority 如下所示:V VerboseD DebugI InfoW W arnE ErrorF FatalS Silent事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:Log.v() --------------------VERBOSELog.d() --------------------DEBUGLog.i() --------------------INFOLog.w() --------------------WARNLog.e() --------------------ERROR以上log的级别依次升高,DEBUG信息应当只存在于开发中,INFO, W ARN,ERROR 这三种log将出现在发布版本中。
Android的LogCat的使用
创建Logcat:1、通过LogCat中的加号+,可以创建日记,方便针对某个项目进行查看日记配置信息主要有两条,一是Filter的日记名,这个随意;二是项目中使用配置针对的日记名tag,main方法中Log.i(1,2)中,1就是该log tag的名字,而对应的2是显示信息2、在这里也可以看到输出信息:当LogCat无法显示内容时:1、所有视图窗口都可以在Window->Show View里面找出2、当LogCat失效时,可以通过Devices中的Reset adb重启实现恢复(有时候不行)3、网上的一些方面不知道行不行4、重启eclipse,很多时候可以(听说的),但其实不行的时候就是不行在Eclipse中安装ADT和android sdk包之后,运行以开发的android程序时,在LogCat 窗口中会显示出一系列的信息,这些信息是每一个程序通过Dalvik虚拟机所传出的实时信息,可以方便我们对程序的了解。
在log窗口中,每条信息都包含五个部分,Time,标题空白,pid,tag和Message。
1、Time表示执行的时间,这个信息对于学习生命周期,分析程序运行的先后顺序特别有用。
2、标题空白的列表示的是信息的种类,分为V,D,I,W,E五种。
V:verbose,显示全部信息D:Debug,显示调试信息I:Info,显示一般信息W:Warming,显示警告信息E:Error,显示错误信息可以通过点击LogCat上面的用圆圈括起来的V,D,I,W,E来改变显示的范围。
比如选择了W,那就只有警告信息和错误信息可以显示出来了。
3、pid表示程序运行时的进程号4、tag标签,通常表示系统中的一些进程名,比如我们运行helloworld程序的话,就会看到activitymanager在运行。
5、Message表示进程运行时的一些具体信息,比如我们运行helloworld程序的话,就会看到starting activity...helloWorld的字样可以输出LogCat的信息到文本文件中,以方便分析。
logcat用法 -回复
logcat用法-回复logcat用法:从调试到应用优化引言:在开发和调试Android应用程序时,logcat是开发者最常用的工具之一。
logcat是Android设备的日志系统,它记录了设备上运行的各种活动的日志消息,包括应用程序、系统服务和设备本身的消息。
本文将详细介绍logcat的用法,帮助开发者更好地利用它来调试和优化应用程序。
第一部分:logcat简介logcat是Android Debug Bridge(ADB)提供的一个命令行工具,用于查看设备日志输出。
它可以通过adb shell命令或Android Studio的Logcat窗口访问。
第二部分:logcat的命令格式在使用logcat之前,我们首先需要了解logcat的命令格式。
它的基本命令格式如下:adb logcat [options] [filterspecs]其中,adb为Android Debug Bridge的简称,logcat为命令名称。
options可以包含一些可选参数,用于指定日志输出的格式、过滤条件和日志等级等。
filterspecs用于指定日志输出的过滤规则,如标签、优先级以及进程ID等。
第三部分:logcat的常用选项在logcat命令中,我们可以通过指定一些可选参数来定制日志的输出格式和行为。
以下是一些常用的选项:1. -d或dump:输出当前设备上的日志并退出。
2. -v <format>或format=<format>:指定日志输出的格式,可选值包括brief、process、tag、thread、raw等。
默认为brief。
3. -s <filterspec>或filter=<filterspec>:指定日志输出时的过滤规则,可以按照标签、优先级、进程ID等进行过滤。
4. -t <count>或tail=<count>:指定输出的日志条目数量。
android studio日志用法
Android Studio提供了一个名为Logcat的窗口,可以用于查看应用程序的调试信息和系统日志。
以下是使用Android Studio Logcat窗口的一些常见方法:1. 打开Logcat窗口在Android Studio中,可以通过以下步骤打开Logcat窗口:-点击菜单栏的"View"选项,然后选择"Tool Windows" -> "Logcat"。
-或者,可以使用快捷键Alt+6来打开Logcat窗口。
2. 设置筛选条件在Logcat窗口中,可以使用筛选条件来过滤日志信息。
可以根据时间、来源、级别等条件来筛选日志信息。
可以通过点击Logcat窗口右上角的"Filter"按钮来设置筛选条件,也可以使用搜索框来直接输入条件。
3. 查看日志信息在Logcat窗口中,可以看到应用程序和系统的日志信息。
可以通过滚动来查看所有的日志信息。
可以使用搜索框来查找特定的日志信息,也可以使用过滤器来仅显示特定类型的日志信息。
4. 输出日志到文件除了在Logcat窗口中查看日志信息外,还可以将日志输出到文件中。
可以通过以下步骤将日志输出到文件中:-在Android Studio中,点击菜单栏的"File"选项,然后选择"Export Logcat"。
-在弹出的对话框中,选择要输出日志的文件格式,然后点击"Export"按钮。
-在导出日志之前,可以设置一些选项,如过滤条件和日志级别。
5. 使用Log类除了使用Logcat窗口查看日志信息外,还可以使用Java的Log类来输出日志信息。
可以使用Log类的不同级别来控制日志的输出。
以下是一个简单的示例代码:Log.d("TAG", "This is a debug message.");Log.e("TAG", "This is an error message.");在上面的代码中,我们使用了Log类的"d"和"e"级别来输出不同类型的日志信息。
logcat命令用法
logcat命令用法在安卓开发中,代码调试是非常必要的环节。
而在调试过程中,logcat 命令就是一个非常实用的工具。
它能够打印出应用程序的调试日志,帮助开发者定位异常并实现对应的修复。
本文将详细介绍logcat 命令的使用方法。
第一步:打开命令行窗口在 Windows 系统中,我们可以通过按下快捷键 Win + R 并输入 cmd 打开命令行窗口。
在 Mac 系统中,则需要通过 Finder -> 应用程序-> 实用工具 -> 终端打开终端程序。
通过以上方法,在命令行窗口中输入 logcat 命令即可开始调试。
第二步:选择过滤条件logcat 命令默认打印的是所有应用程序的调试日志。
如果我们只需要查看某一个应用程序的日志信息,就需要通过参数来指定过滤条件。
比如,如果想查看包名为 com.example.app 的应用程序的调试日志,可以输入以下命令:logcat com.example.app:D *:S其中, ":D" 指定了最低优先级为 debug 的信息都将输出;"*:S" 指定了所有其他优先级的信息都只输出一次。
这样,我们就可以在输出信息中只看到该应用程序的调试日志了。
第三步:输出日志信息在指定了过滤条件之后,我们可以在命令行中看到应用程序的调试日志输出。
而在不同的调试阶段,我们也可以通过不同类型的输出信息来定位问题。
比如,如果我们想查看应用程序中的所有警告信息,可以输入以下命令:logcat -s "W"这样,就可以在输出信息中只看到警告信息了。
类似地,我们还可以通过输入“D”(debug)、“E”(error)和“I”(information)来分别输出不同类型的日志信息。
此外,在命令中还可以添加其他参数,如 -t 来指定输出最近的多少条日志信息,或 -f 来将日志信息保存到文件中等。
具体的参数使用方法可以通过输入 logcat --help 来查看。
logcat用法、实例
# logcat
3.输出到指定目录
[adb] logcat [<option>] ... [<filter-spec>] -d >d:\log\log.txt
二、“过滤”日志输出:
每一个输出的Android日志信息都有一个标签和它的优先级.日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就 是查看系统的标签).
系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop 可 以使用模拟器/设备上的默认设置
五、Logcat命令列表:
Option Description
-b<buffer> 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
在运行logcat的时候在前两列的信息中你就可以看到 logcat 的标签列表和优先级别,它是这样标出的:<priority>/<tag> .
下面是一个logபைடு நூலகம்at输出的例子,它的优先级就似乎I,标签 就是ActivityManage:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
adb logcat -v thread
需要注意的是你只能-v 选项来规定输出格式 option.
三、“查看”可用日志缓冲区:
Android日志系统有循环缓冲区,并不是所有的日志系统都有默认循环缓冲区。为了得到 日志信息,你需要通过-b 选项来启动logcat 。如果要使用循环缓冲区,你需要查看剩余的 循环缓冲期:
新版logcat 用法
新版Logcat的用法包括以下步骤:启动Logcat:当应用程序启动或停止(关闭或崩溃)时,新的Logcat 会显示额外的消息。
它会包含新的消息、进程ID和包名称。
搜索Logcat:Logcat提供了搜索栏,可以使用丰富的搜索逻辑来查找特定的日志信息。
比如搜索当前包名下的日志,可以输入“package:mine”;添加日志级别,例如查找>= INFO 级别的日志,可以输入“package:mine level:info”;查找特定标签的日志,例如查找包含“info”标签的日志,可以输入“package:mine level:info tag:info”。
使用正则表达式:Logcat支持使用正则表达式来查找复杂的日志信息。
例如,查找以“info”为开头的tag日志,可以输入“package:mine tag:info*”;查找不以“2”结尾的日志,可以输入“package:mine level:info -tag:.*2”。
时间截取:Logcat支持截取特定时间段的日志。
比如返回最近30秒的日志,可以输入“age:30s”;返回最后2分钟的日志,可以输入“age:2m”;返回最后一个小时的日志,可以输入“age:1h”;返回最近2天的日志,可以输入“age:2d”。
格式化输出:Logcat允许用户自定义输出格式,包括时间戳、进程ID、标签、包名称、日志级别和消息等。
用户可以根据自己的需求选择显示哪些内容。
多窗口模式:新版的Logcat支持多窗口操作模式,允许多个Logcat 选项卡和窗口同时打开,方便用户同时分析来自不同设备的数据。
收藏命令:Logcat会记录用户曾经写过的日志命令,可以在历史记录中查询和再次使用。
对于一些常用的命令,用户可以添加到收藏夹中,方便快速调用。
以上是新版Logcat的基本用法,通过这些功能可以帮助用户更好地分析和处理应用程序的日志信息。
logcat使用方法
最为常用的adb logcat > xxx.txt 此方法为实时将log保存到xxx.txt文件中,需要手动停止
adb logcat -d -f /sdcard/xxx.txt 此方法为将缓存中现有的Log保存到sdcard中的xxx.txt文件中,不需要手 动停止 查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ... 切换到网络adb setprop service.adb.tcp.port 5555 stop adbd start adbd 切换回USB模式 setprop service.adb.tcp.port -1
例如查看radio缓冲区 adb logcat -b radio
Dmesg log抓取方法
对于可以进行adb root操作的设备 adb shell dmesg > xxx.txt 同上实时将kernel log保存到xxx.txt文件中,可事实打印log,需 要手动停止 若无法进行adb root操作,但可以在adb shell 中su的话 可以通过cat proc/kmesg /sdcard/xxx.txt & 可以事实取log 另一种方法为:dmesg > /sdcard/xxx.txt 仅输入缓存中的log, 无法事实取log。
如果想要减少输出的内容,可以加上过滤器表达式进行限制,过滤 器可以限制系统只输出感兴趣的标记-优先级组合。 过滤器表达式的格式是tag:priority ... ,其中tag是标记, priority是最小的优先级, 该标记标识的所有大于等于指定优先级的消 息被写入日志。也可以在一个过滤器表达式中提供多个这样的过滤,它 们之间用空格隔开。 下面给出的例子是仅输出标记为“ActivityManager”并且优先级 大于等于“Info”和标记为“MyApp”并且优先级大于等于“Debug” 的日志: adb logcat ActivityManager:I MyApp:D *:S adb logcat -s ActivityManager:I MyApp:D 两者输出结果一致 上面表达式的最后的元素 *:S ,,是设置所有的标签为“silent”, 所有日志只显示有“ActivityManager” and “MyApp”的,用 *:S 的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的, 也让过滤器也作为一项输出到日志中. 在linux环境下过滤log可以使用下面的命令 adb logcat | grep MyApp
logcat--基本用法
logcat--基本⽤法1.Log类是⼀个⽇志类,我们可以在代码中使⽤logcat打印出消息常见的⽇志记录⽅法有:v(String,String) --verbose 显⽰全部信息d(String,String) -- debug 显⽰调试信息i(String,String) -- information 显⽰⼀般信息w(String,String) -- warning 显⽰警告信息e(String,String) -- error 显⽰错误信息2.logcat缓冲区Android系统把log放在4个缓存区:Radio 输出通信系统的logSystem 输出系统组件的logEvent 输出event模块的logMain 所有java层的log,以及不属于上三层的log缓存区是链表形式且⾸尾相连,也叫圆形缓存区或循环缓冲区,该种数据结构适合缓冲数据流(先进先出)adb logcat -b <buffer> 查看该缓存区数据,如adb logcat -b radio/system/events/main ,默认为main3.logcat命令参数4.logcat格式化输出5.logcat优先级(以下优先级从低到⾼)V --VerboseD -- DebugI -- InformationW -- WarningE -- ErrorF -- FatalS -- Silent减少⽇志输出,可以建⽴⼀个过滤器过滤语法:tag:priority如: adb logcat Android:W *:S 设置过滤级别为W以上 tag为Android的log --- 总结⾃极客学院。
使用调试日志工具Logcat
2. 添加日志代码
为了更好地帮助调试,在代码中我们可以添加一些适当的日志输出。 例如,我们可以对MainActivity代码进行如下修改:
package com.manonggu.helloandroid; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; public class MainActivity extends Activity { public static final String TAG = "ANDROID_DEBUG"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.activity_main); Log.d(TAG,"第一条日志打印"); } }
(1)选中需要调试的程序,使其高亮; (2)在Windows菜单中选择Show View,Other...,在弹出的菜单中选择Android下的 Logcat,如下图所示
(3)运行安卓程序后即出现程序标签页上方有五个按钮分别是:V、D、I、W、E。它们的意义是:
本节结束! 感谢您的耐心参与!
(1)V:Verbose,详细信息,即显示所有信息。 (2)D:Dubug,调试过滤器,只输出D、I、W、E四种信息。 (3)I:Information,信息过滤器,只输出I、W、E三种信息。 (4)W:Warning,警告过滤器,只输出W、E两种信息。
logcat的简单使用
logcat主要是抓上层应用的log日志,串口、USB均可输出,标识就是log前面有字母,优先级是下面的字符,顺序是从低到高:V—明细(最低优先级)D —调试I—信息W—警告E—错误F —严重错误S—无记载(最高优先级,没有什么会被记载)通过运行logcat,可以获得一个系统中使用的标记和优先级的列表,比如以下信息:I/wpa_supplicant( 2143): WAPIDBG wapi_cipher_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_parse_ie: DONEI/wpa_supplicant( 2143): WAPIDBG wpa_supplicant_wapi_ie_txtI/wpa_supplicant( 2143): WAPIDBG wapi_auth_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_cipher_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_cipher_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_parse_ie: DONEW/WifiService( 1313): misformatted scan result for: d0:57:4c:29:ce:7a 2 412 197 [WPA2-PSK-CCMP]W/WifiService( 1313): misformatted scan result for: d0:57:4c:29:ce:79 2 412 197 [WPA-PSK-TKIP]W/WifiService( 1313): misformatted scan result for: d0:57:4c:29:ce:7b 2 412 198 [WEP]W/WifiService( 1313): misformatted scan result for: e0:05:c5:43:78:92 2 472 203W/WifiService( 1313): misformatted scan result for: 00:23:69:c3:58:41 2 412 185 [WPS]D/wpa_supplicant( 2143): CMD: SCAN_RESULTSI/wpa_supplicant( 2143): WAPIDBG wpa_supplicant_wapi_ie_txtI/wpa_supplicant( 2143): WAPIDBG wapi_auth_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_cipher_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_cipher_selector_to_bitfieldI/wpa_supplicant( 2143): WAPIDBG wapi_parse_ie: DONEI/wpa_supplicant( 2143): WAPIDBG wpa_supplicant_wapi_ie_txtI/wpa_supplicant( 2143): WAPIDBG wapi_auth_selector_to_bitfieldlogcat命令可以通过logcat -help 查看,敲击logcat的时候一定要加后台运行符号&,如:logcat&杀掉logcat方法如下:1. ps查看logcat的PID号,这个PID号是实时变动的2. 杀掉logcat如下图这里的PID是1799,杀掉便终止logcat查看某一项logcat信息如下,这里是后台查看MediaScanner所有信息bash-3.2# logcat MediaScanner:v *:s查看所有error的信息如下:bash-3.2# logcat *:e。
logcat 正则
logcat 正则在Android开发中,logcat是一个非常重要的工具,可以帮助开发者追踪程序中的bug以及输出程序的调试信息。
然而,在复杂的项目中,logcat的输出信息通常很难被开发者快速地提取与整理。
在这种情况下,使用正则表达式来过滤掉无关的输出信息将非常有帮助。
下面进行一步步的讲解:1.在命令行中打印logcat首先,需要在命令行中打印logcat,以便输出程序运行时的信息。
在Windows系统上,可以通过在命令行中输入"adb logcat"来打印logcat。
在macOS或Linux系统上,需要先切换到adb的目录,然后再执行"adb logcat"命令。
2.使用正则表达式过滤信息接下来,需要使用正则表达式过滤掉logcat中无关的输出信息。
例如,如果只想输出包含"error"或"exception"关键字的日志信息,可以输入以下命令:adb logcat | grep -E "(error|exception)"该命令中的管道符"|"用于将logcat的输出与grep命令进行连接。
grep命令中的"-E"参数表示使用扩展正则表达式(Extended Regular Expression),用于匹配输入的正则表达式。
正则表达式中的括号用于表示一个组,竖线符用于表示"或"关系。
3.将过滤的信息输出到文件中最后,如果需要将过滤后的信息输出到文件中,可以使用重定向符">"。
例如,将过滤后的信息输出到一个名为"log.txt"的文本文件中,可以输入以下命令:adb logcat | grep -E "(error|exception)" > log.txt 该命令中的">"符用于将命令输出重定向到一个文件中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android的logcat详细用法 Android日志系 统提供了记录和查看系统调试信息的功能。 日志都是从各种软件和一些系统的缓冲区中 记录下来的,缓冲区可以通过 logcat 命令来 查看和使用.下面简单介绍一下常见抓取并过
滤筛选logcat的方法
最为常用的adb logcat > xxx.txt 此方法为实时将log保存到xxx.txt文件中,需要手动停止
8. Ip route list:adb shell下查看路由表的命令。 进入adb shell ip route list
9. Netcfg:用于配置和查看网络配置文件。 adb命令adb shell netcfg
3. ANR Trace log:当应用程序出现无响应时,系统会记录在哪个运行流 程中出现无响应,相关代码调用会记录在trace文件中。 adb命令adb pull data/anr/
4. Kernel log:内核log。 adb命令adb shell cat /proc/kmsg > *.txt 或 adb shell dmesg
们之间用空格隔开。
下面给出的例子是仅输出标记为“ActivityManager”并且优先级 大于等于“Info”和标记为“MyApp”并且优先级大于等于“Debug”
的日志:
adb logcat ActivityManager:I MyApp:D *:S
adb logcat -s ActivityManager:I MyApp:D
抓完之后才能够看到,不是实时的。
10
DDMS主界面
抓取log
DDMS下面的控制台输出当前的log信息。 由于默认输出的log过多,我们需要对log信息进行过滤,有两种过滤方式: 1)按照级别过滤
DDMS把log分成五种级别: -V (vorbose) 级别最低 -D (debug) -I (information) -W (warning) -E (error) 级别最高 -需要注意的是按照级别过滤log时,会把当前级别以及当前级别以下级别的log也一并输出。 2)按照tag过滤 选择最左边的绿色加号,便可以实现按照tag过滤
5. Tcpdump log:TCP/IP协议相关log。 adb命令adb shell tcpdump
6. Getprop:显示终端状态信息。 adb命令adb shell getprop
7. Busybox:常用工具集,可查看由表等。 adb命令adb shell busybox route
测试所需Log及抓取方法
切换到网络adb setprop service.adb.tcp.port 5555
stop adbd start adbd 切换回USB模式 setprop service.adb.tcp.port -1
options include:
-s
设置默认的过滤级别为silent.
-f <filename> 指定输出日志信息的<filename> ,
emulator/device打电话以及发短信等。 DDMS的启动
DDMS放在SDK的tool路径下,双击ddms.bat启动
通过DDMS抓的其实跟用dos批处理抓的一样都是logcat的日志文件,ddms
抓的通常是main缓存中的,就是应用程序打印的日志文件。不过ddms好处 在于能够实时看到带有颜色的,如果是用dos批处理只能重定向到文件,到
DDMS全称是Dalvik debug monitor service, 是一种图形化的调试工具, 和命令行形式的ADB一起,共同搭建起IDE与Emulator/Device之间的桥
梁
DDMS的主要功能
通过DDMS,可以查看到当前运行的进程/线程状态,可以查看当前的堆信 息和调试信息,可以查看到进程分配内存的情况,可以向
Android日志系统为日志消息保持了多个循环缓冲区,而且不是所 有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可
以使用-b 选项,以下是可以指定的缓冲区: radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息 main — 查看主缓冲区 (默认缓冲区)
两者输出结果一致
上面表达式的最后的元素 *:S ,,是设置所有的标签为“silent”, 所有日志只显示有“ActivityManager” and “MyApp”的,用 *:S 的另一个用处是 能够确保日志输出的时候是按照过滤器的说明限制的,
也让过滤器也作为一项输出到日志中.
在linux环境下过滤log可以使用下面的命令
process — 仅显示进程PID tag — 仅显示优先级/标记 thread — 仅显示进程:线程和优先级/标记 raw — 显示原始的日志信息,没有其他的元数据字段 time — 显示日期,调用时间,优先级/标记,PID long —显示所有的元数据字段并且用空行分隔消息内容
例如:adb logcat -v time 输出的log标有时间
可通过新建多个log filter同时筛选多个进程的log 保存log 在选中所需要的log后,点击最右边的保存按钮进行保存。
测试所需Log及抓取方法
1. Logcat:系统日志,常用于跟踪由系统行为导致的网络状态改变(如: 系统休眠等) adb命令logcat –v time > *.txt
2. Radio log:RIL层log。 adb命令logcat –v time –b radio > *.txt
源于显示系统)。 优先级是下面的字符,顺序是从低到高:
V — 明细 (最低优先级) D — 调试 I — 信息 W — 警告 E — 错误
F — 严重错误 S — 无记载 (最高优先级,没有什么会被记载)
通过运行logcat ,可以获得一个系统中使用的标记和优先级的列表, 观察列表的前两列,给出的格式是<priority>/<tag>
如果想要减少输出的内容,可以加上过滤器表达式进行限制,过滤 器可以限制系统只输出感兴趣的标记-优先级组合。
过滤器表达式的格式是tag:priority ... ,其中tag是标记, priority是最小的优先级, 该标记标识的所有大于等于指定优先级的消 息被写入日志。也可以在一个过滤器表达式中提供多个这样的过滤,它
-r [<kbytes>] 每<kbytes> 时输出日志,默认值为16,需要和-f 选项一 起使用. -s 设置默认的过滤级别为silent.
-n <count> 设置日志的最大数目<count>.,默认值是4,需要和 -r 选 项一起使用
-v <format> 设置日志输入格式,默认的是brief格式
adb logcat -d -f /sdcard/xxx.txt 此方法为将缓存中现有的Log保存到sdcard中的xxx.txt文件中,不需要手
动停止
查看和跟踪系统日志缓冲区的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ...
若无法进行adb root操作,但可以在adb shell 中su的话 可以通过cat proc/kmesg /sdcard/xxx.txt & 可以事实取log 另一种方法为:dmesg > /sdcard/xxx.txt 仅输入缓存中的log,
无法事实取log。
通过DDMS抓取并筛选Log
DDMS基本介绍
-b 选项的用法:
[adb] logcat [-b <buffer>]
例如查看radio缓冲区
adb logcat -b radio
Dmesg log抓取方法
对于可以进行adb root操作的设备 adb shell dmesg > xxx.txt
同上实时将kernel log保存到xxx.txt文件中,可事实打印log,需 要手动停止
-c
清除缓存中的日志.
-d
将缓存中的日志打印到屏幕上并退出
-t <count> 仅打印最近几行的log
-g
查看缓冲区的大小
-b <buffer> 加载一个可使用的日志缓冲区供查看,比如event和radio. 默认值是main
-B
以二进制方式打印Log
每一条日志消息都有一个标记和优先级与其关联。 标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来
adb logcat | grep MyApp
下面的表达是显示所有优先级大于等于“warning”的日志 adb logcat *:W
控制日志格式 日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通 过修改输出格式来控制输出结果, -v 选项加上下面列出的内容可以控
制输出字段: brief — 显示优先级/标记和原始进程的PID (默认格式)