使用logcat抓取完整log

合集下载

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抓取各种log的方法

android抓取各种log的方法

android抓取各种log的方法在Android开发过程中,我们经常遇到需要抓取各种日志的情况。

日志是开发调试中必不可少的工具,可以帮助我们定位问题,分析程序运行时的情况。

本文将介绍几种常用的方法,帮助您在Android平台上抓取各种日志。

一、Logcat日志Logcat是Android开发中最常用的日志工具,可以输出各种类型的日志信息,包括verbose、debug、info、warn和error等级的日志。

我们可以使用Log类来输出日志信息,例如:```javaimport android.util.Log;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);Log.d(TAG, "This is a debug message");Log.i(TAG, "This is an info message");Log.w(TAG, "This is a warning message");Log.e(TAG, "This is an error message");}}```在Logcat控制台中,可以通过过滤器来选择要显示的日志级别,以及筛选特定的tag,方便我们查看所需的日志信息。

二、文件日志除了在Logcat中输出日志外,我们也可以将日志保存到文件中,以便于离线查看和分析。

Android系统提供了File类和FileOutputStream 类,可以将日志写入到SD卡或应用的私有目录中。

android studio logcat 用法

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的基本用法。

通过仔细分析日志信息,你可以更好地理解应用程序的运行情况,并找出潜在的问题进行修复。

【最新精选】android抓取log方法

【最新精选】android抓取log方法

Android日志系统提供了记录和查看系统调试信息的功能。

日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用.使用logcat命令你可以用 logcat 命令来查看系统日志缓冲区的内容:[adb] logcat [<option>] ... [<filter-spec>] ...复制代码请查看Listing of logcat Command Options ,它有对logcat命令有详细的描述 .你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。

$ adb logcat复制代码你也这样使用:# 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台上的日志捕获工具,它能够捕获应用程序中的日志信息。

通过使用 Logcat,用户可以获取像是程序的运行状况以及错误信息的日志,从而更好地了解应用程序的运行情况以及排查问题。

Logcat令参数是在 Android SDK管理器工具里提供的,它提供了一些可以改变输出结果的可选项,使用这些参数可以更加准确地输出所需的日志信息。

Logcat令参数主要有以下几类:-f:指定日志文件保存位置,想把日志收集到文件中,则需要使用此参数。

-v:指定输出级别,它有三种输出级别:brief,process,tag,time,thread,raw,long。

其中,raw出的是原始的日志内容;brief 只输出 tag,priority,tag 信息;process tag输出 tag,process,priority,tag,pid,tid,message 信息;time thread输出 tag,priority,tid,time,message 信息;long输出类似 short信息,但会把日志的时间戳和位置信息输出出来。

-s:指定过滤级别,它有三种输出级别:verbose,debug,info,warning,error,assert。

其中 verbose debug最低级别,当所有的日志都被过滤时,只会输出这两个级别的日志;而 info,warning,error,assert是按照强度逐渐提高的级别,只会输出强度大于等于这个级别的日志。

-d:指定以 adb方式连接设备,它可以和其他参数一起使用,用来显示设备上的日志信息。

-b:指定缓冲区,有三种缓冲区可供使用,分别是 main,system,radio。

-t:指定要显示的日志 tag,支持正则表达式,可以指定多个 tag,用逗号隔开即可。

-g:指定过滤日志,这个参数和 -t数类似,可以用来过滤出你给定的 tag日志信息。

adb logcat命令用法

adb logcat命令用法

一、adb logcat命令的概念adb logcat是Android Debug Bridge (ADB)工具的一部分,它用于访问和查看设备系统日志。

通过adb logcat命令,开发人员和测试人员可以实时查看设备的日志信息,包括应用程序的输出、系统错误、调试信息等。

这对于调试应用程序和分析设备行为非常有帮助。

二、adb logcat命令的基本用法1. adb logcat命令的格式adb logcat [option] [过滤规则]:[优先级]2. adb logcat命令的常用选项•-c:清空日志缓冲区•-d:将日志信息打印到控制台并退出•-f <文件名>:将日志信息保存到指定文件•-b <缓冲区>:指定要查看的日志缓冲区,默认为main•-s <标签>:<优先级>:指定要查看的标签和优先级•-n <数目>:仅打印指定数目的日志信息•-r <数目>:打印指定数目的最新日志信息•-v <格式>:指定日志的输出格式,如brief、process、tag等3. adb logcat命令的常用过滤规则•*:V:打印所有日志信息•tag:V:打印指定标签的日志信息•*:S:不打印日志信息4. adb logcat命令的常用优先级•V:Verbose,最低优先级,用于调试信息•D:Debug,调试信息的优先级•I:Info,一般信息的优先级•W:Warning,警告信息的优先级•E:Error,错误信息的优先级•F:Fatal,严重错误信息的优先级•S:Silent,最高优先级,不打印任何信息三、adb logcat命令的实际应用1. 查看设备日志通过运行adb logcat命令,可以查看设备的实时日志信息。

该命令会实时打印设备上的日志信息到控制台,开发人员可以通过这些信息来进行应用程序的调试和性能优化工作。

2. 保存日志信息到文件使用adb logcat命令的“-f”选项可以将设备上的日志信息保存到指定文件中。

Android抓取Log方法

Android抓取Log方法

Android日志系统提供了记录和查看系统调试信息的功能。

日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用.使用logcat命令你可以用 logcat 命令来查看系统日志缓冲区的内容:[adb] logcat [<option>] ... [<filter-spec>] ...复制代码请查看Listing of logcat Command Options ,它有对logcat命令有详细的描述 .你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。

$ adb logcat复制代码你也这样使用:# 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使用

-- " -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 -d的用法

logcat -d的用法

logcat -d的用法
首先,logcat -d命令可以在开发过程中用于快速查看设备的
系统日志信息。

通过在命令行中输入logcat -d,开发人员可以立
即获取设备上的最新日志信息,以便快速定位和解决应用程序的问题。

其次,logcat -d命令还可以用于在应用程序崩溃或出现异常
时快速获取设备的日志信息。

开发人员可以通过执行logcat -d命
令来获取设备上的最新日志,以便及时发现并解决应用程序的异常
情况。

另外,logcat -d命令还可以用于在应用程序开发过程中进行
调试。

开发人员可以通过执行logcat -d命令来查看应用程序的日
志输出,以便更好地了解应用程序的运行情况,从而进行调试和优化。

总的来说,logcat -d命令是Android开发中非常实用的工具,可以帮助开发人员快速获取设备的系统日志信息,从而更好地进行
应用程序的调试和优化工作。

希望以上解释能够全面地回答你的问题。

使用logcat抓取完整log

使用logcat抓取完整log
adblogcat-b main > /main.log
Event Log
event log属于system log,平时可以跟在main log之后。抓取命令如下:
adblogcat-b event -v time >/event.log
-v time表示在log中加入每条log发生的时间。
完整Log
adblogcat-b选项是可以复用的,因此我们抓取所有Log的命令就是复用了-b选项。抓取命令如下:
adblogcat-b main -b system -bradio -b events -v time > /all.log
Log分类
Android日志主要分为kernel、radio、event、m于Linux内核的log,可以通过读取/proc/kmsg或者通过串口来抓取。adb抓取kernel log的命令如下(需要有root权限):
adbshell cat /proc/kmsg> /kernel.log
Radio Log
-b radio参数可以抓取Android RIL层log,在调试Android通信方面的代码时,这个Log非常关键。抓取命令如下:
adblogcat-b radio > /radio.log
Main Log
main log和我们在eclipse里通过DDMS中看到的log是一致的。抓取命令如下:

logcat命令用法

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 来查看。

adb logcat 抓取方法

adb logcat 抓取方法

adb logcat 抓取方法
adb logcat 是一种用于抓取 Android 设备日志的工具。

以下是使用 adb logcat 抓取日志的步骤:
1. 确保您的计算机上已安装 Android SDK,并且 adb 工具位于计算机上的系统路径中。

2. 使用 USB 数据线将 Android 设备连接到计算机。

3. 打开命令提示符或终端窗口,并进入 Android SDK 的 platform-tools 目录。

4. 运行以下命令来启动 adb logcat:
```shell
adb logcat
```
5. 您将看到设备的日志输出到命令提示符或终端窗口中。

您可以使用各种选项来过滤和定制日志输出。

以下是一些常用的选项:
`-c`:清除屏幕上的日志。

`-d`:输出日志到屏幕上。

`-f`:指定输出日志信息的文件,默认为 stdout。

`-g`:输出指定的日志缓冲区,输出后退出。

`-n`:设置日志的最大数目,默认值是4,需要和 -r 选项一起使用。

请注意,这只是 adb logcat 的基本使用方法。

您可以查阅 adb logcat 的文档以获取更多详细信息和选项。

新版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的基本用法,通过这些功能可以帮助用户更好地分析和处理应用程序的日志信息。

软件测试log的抓取

软件测试log的抓取

1.log文件分类简介实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM 日志adb bugreport,工程模式等2.LOG抓取详解(1)实时打印adb logcat -b main -v time>app.log 打印应用程序的logadb logcat -b radio -v time> radio.log 打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了。

adb logcat -b events -v time 打印系统事件的日志,比如触屏事件。

tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,比如抓mms下载的时候的UA profile,browser上网的时候,使用proxy的APN 下载,streaming的相关内容包括UA profile等。

(2)状态信息bugreport(命令adb bugreport>bugreport.log)。

里面包含有dmesg,dumpstate和dumpsys。

存等等。

adb shell dumpsys这个是关于系统service的内容都在这个里面,这个命令还有更详尽的用法,比如adb shell dumpsys meminfo system是查看system这个process的内存信息。

kmsg抓取adb shell cat /proc/kmsg > kmsg.txt,打开后查msm_kgsl字段说明:用于检索用printk生成的内核消息。

任何时刻只能有一个具有超级用户权限的进程可以读取这个文件。

也可以用系统调用syslog检索这些消息。

通常使用工具dmesg或守护进程klogd检索这些消息。

Android中记录与调试——Logcat和Debug的使用

Android中记录与调试——Logcat和Debug的使用

作者:张伟为了提高Android程序的开发效率,找错误和调试是很重要的。

一般来说,首先使用Android的Logcat输出Log信息来查找或定位程序的错误,还可以使用Eclipse的Debug调试工具来协助调试。

本文先介绍如何使用Android的Logcat在开发环境中打印Log信息,然后介绍如何使用Elipse设置断点来调试Android程序。

一、Android开发中Log信息的打印在Android平台上,我们可以使用“Log”函数,来达到自己在程序码中加入一个个“记录点”或“检查点”,并可以通过开发环境中的“LogCat”工具来查看记录。

当程序流程每次运行到“记录点”时,相应的“记录点”就会在开发工具记录中输出一条查错用的信息。

开发者通过分析这些记录,来检查程序执行的过程、使用到的参数,是否与我们期望的结果符合。

依此来判断程序码中可能出错的区域,以便对症根治造成问题的程序段。

android.util.Log常用的方法有以下5个:Log.v(),Log.d(),Log.i(),Log.w()以及Log.e()。

根据首字母对应VERBOSE,DEBUG,INFO,WARN,ERROR。

颜色消息说明Log.v黑色任何消息verbose包括以下所有消息Log.d蓝色调试信息debugLog.i绿色提示信息information不会输出Log.v和Log.d的信息,但会显示i、w和e的信息Log.w橙色警告warning注意优化代码,还会输出Log.e的消息Log.e红色错误error需要根据它查看栈的信息,并认真的分析错误以上log按优先级从低到高的顺序至上而下排列的,换句话说,选择某一种输出类型后,表格中在它下面的类型也会输出。

下面是我做的一个简单的LogDemo。

1.打开LogCat视窗Eclipse菜单-> Windows -> Show View ->Other -> Android -> LogCat,在控制台窗口出现LogCat视窗。

adb logcat的用法

adb logcat的用法

adb logcat的用法使用adb logcat的用法adb logcat是Android Debug Bridge(ADB)工具的一部分,可以用于查看设备日志。

设备日志包含了系统和应用程序的调试信息、错误日志,以及其他关于设备活动的详细信息。

使用adb logcat可以在代码调试、故障排除和性能优化时提供有用的信息。

本文将逐步介绍adb logcat的使用方法,并提供一些常见的使用示例。

第一步:安装ADB首先,我们需要安装ADB工具。

ADB工具随Android SDK一起提供,可以从Android开发者网站(developer.android)下载并安装Android SDK。

安装完SDK后,我们需要配置ADB的环境变量,以便能够在命令行中使用adb命令。

可以通过将Android SDK的安装目录添加到系统的PATH环境变量中来实现。

配置完环境变量后,我们可以在命令行中输入"adb"命令,查看是否成功安装并配置了ADB工具。

第二步:连接设备在使用adb logcat之前,我们需要连接一个设备或模拟器。

可以通过USB 连接真实设备,也可以使用Android模拟器。

要连接设备,请确保USB调试选项打开,并通过USB线将设备连接到计算机。

在命令行中运行"adb devices"命令,可以查看已连接的设备。

设备的序列号将显示在列表中,表示设备已成功连接。

第三步:运行adb logcat当设备成功连接后,我们可以使用adb logcat命令来查看设备日志。

打开一个命令行窗口,并输入"adb logcat"命令,即可开始查看设备的日志输出。

默认情况下,日志将连续显示在命令行窗口中,直到手动停止。

可以通过按下Ctrl+C来停止adb logcat的运行。

第四步:过滤日志输出在实际使用中,设备日志通常会非常庞大,包含大量的信息。

为了更好地查看感兴趣的日志信息,adb logcat提供了过滤选项。

adblogcat日志抓取

adblogcat日志抓取

adblogcat⽇志抓取⼀.logcat抓log⽅法:adb logcat命令,可以加条件过滤1.安装SDK(参考android sdk环境安装)2.使⽤数据线链接⼿机,在⼿机助⼿的sdcard中建⽴⼀个1.log的⽂件或在抓⽇志时直接导出到电脑位置3.程序运⾏cmd,进⼊到含有adb.exe⽬录4.输⼊adb devices 查看设备是否连上5.输⼊抓取命令:存放到⼿机adb logcat -s *:E > /mmt/sdcard/1.log存放到PCadb logcat -s '*:E' > d:/1.log6.使⽤⼿机打开app操作崩溃⼀次(如果想中途停⽌按下ctrl+c)7.查看⽇志抓取⽂件,分不清楚是那个时间段所造成的后果8.加⼊命令:-v time 就会显⽰出时间9.输⼊命令adb logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log)过滤⽇志级别优先级是下⾯的字符,顺序是从低到⾼:V — 明细 verbose(最低优先级)D — 调试 debugI — 信息 infoW — 警告 warnE — 错误 errorF — 严重错误 fatalS — ⽆记载 silent⽤法:使⽤命令, 显⽰10条 Error 以上级别的⽇志:adb logcat 10 *:E使⽤命令, 显⽰全部Erroradb logcat *:E输出指定App⽇志adb logcat <your package name>:<log level> *:Sadb logcat -v time -s app包名:E>d:/1.loglog过滤器使⽤( adb logcat tag:priprity)过滤器表达式的格式是tag:priority ... ,其中tag是标记(可以是具体的,*表⽰所有), priority是最⼩的优先级,可以是组合adblogcat ActivityManager:I MyApp:D *:Sadblogcat * :W -----所有优先级⼤于等于“warning”的⽇志adblogcat * :E -----所有优先级⼤于等于“error”的⽇志四、log输出-log控制⽇志格式 adb logcat -v 格式brief — 显⽰优先级/标记和原始进程的PID (默认格式)process — 仅显⽰进程PIDtag — 仅显⽰优先级/标记thread — 仅显⽰进程:线程和优先级/标记raw — 显⽰原始的⽇志信息,没有其他的元数据字段time — 显⽰⽇期,调⽤时间,优先级/标记,PIDlong —显⽰所有的元数据字段并且⽤空⾏分隔消息内容eg:adb logcat -v thread五.log输出-附加缓冲区:adb logcat -bradio — 查看包含在⽆线/电话相关的缓冲区消息events — 查看事件相关的消息main — 查看主缓冲区 (默认缓冲区)adb logcat -b radio什么也不加代表默认缓冲六.log输出-log选项列表-b 指定要查看的⽇志缓冲区,可以是system,events ,radio,main . 默认值是system和main 。

ADBlogcat过滤方法(抓取日志)

ADBlogcat过滤方法(抓取日志)

ADBlogcat过滤⽅法(抓取⽇志)1. Log信息级别
Log.v- VERBOSE : ⿊⾊
Log.d- DEBUG : 蓝⾊
Log.i- INFO : 绿⾊
Log.w- WARN : 橙⾊
Log.e- ERROR : 红⾊
从上⽽下级别逐次增加
2. 过滤:指定标签,指定级别
adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ...
标签TAG: 在进⾏log输出时需要指定标签
Log.v("Test", info );
LEVEL:
可以选择:[V D I W E S]中其中⼀个
TAG:X 的作⽤为: 输出标签为TAG的log级别⼤于 X的信息 . 例如:
adb logcat Test:I
输出 Test的I 和I 级别以上的log,包括 i, w, e
注意:
(1)可以指定多个 [TAG:LEVEL ]
(2) level : S 表⽰为不输出该标签的⽇志,应为没有⼤于S级别的⽇志了
(3) [TAG:LEVEL ] 不会影响其他标签的⽇志, 所以如果要屏蔽其他log请使⽤ *:S
adb logcat Test:I *:S
3. 采⽤grep正则表达式过滤
grep 正则表达式参见grep与正则表达式
adb logcat | grep -E '^[VDE]/(TAG1|TAG2)'
4. 在同时输出到屏幕和⽂件 tee
想要把⽇志保存到⽂件,如果采⽤IO重定向,就⽆法输出到屏幕, 针对这个问题可以采⽤ tee命令
adb logcat | grep -E '^[VDE]/(TAG1|TAG2)' | tee my.log。

logcat日志文件

logcat日志文件

logcat⽇志⽂件android⽇志系统提供了记录和查看系统调试信息的功能,⽇志都是从各个软件和⼀些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来进⾏查看和使⽤开发者选项,有个选项叫做“⽇志记录器缓冲区⼤⼩”,默认是256K,⽇志是循环写⼊环形缓冲区的,在通常情况下,写满时最旧的⽇志会被删除已给新输出的⽇志留内存空间1.缓冲区的类型Android ⽇志系统为⽇志消息保留了多个循环缓冲区,不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使⽤ -b选项,查看指定的缓冲区:adb logcat [-b <buffer>]buffer可以有如下选项:Radio参数可以抓取Android RIL层,查看log包含在通信系统的log,如蓝⽛、wifi、打印.、⽹卡、3G、4G 命令:adb logcat -b radioEvents查看事件相关的消息,⽐如启动应⽤,停⽌⽂件事件.Main查看主缓冲区、所有Java层的log(默认缓冲区).System输出系统组件的log(默认缓冲区).ps:默认使⽤【adb logcat】会输出Main及System缓冲区的log信息。

加参数-v time 可以显⽰每天记录的详细时间,如 adb logcat -b system -v time > D:\log.system.txt2.认识输出⽇志信息输出的⽇志信息格式如下图所⽰:1)⽇志内容由五部分组成⼤概就是显⽰:时间、进程Id=1164、线程Id=1181、优先级=D、标签(tag)=WindowManger : message1. 写下⽇志时的时间,如:08-11 09:45:35.2092. 优先级:⽇志的优先级从⼩到⼤为V-Verbose(啰嗦,最低级别,开发调试时的⼀些详细信息,仅在开发中使⽤,不可在发布产品中输出)D-Debug(调试,⽤于调试的信息,可以在发布产品中关闭,⽐较常见)I-information(信息,⼀般提⽰性的消息)W-warning(警告)E-Error (错误,已经出现可影响运⾏的错误,⽐如应⽤crash时输出的⽇志)S(⽆记载)3.标签(tag),表明⽇志发起者和⽅便⽇志的过滤筛选,如上图中的SystemServer4.PID(进程ID),如上图中的17605.正⽂,本⽇志的主体部分2)过滤⽇志如果要减少logcat 的输出⽇志,可以使⽤如上条件进⾏过滤、可⽤多个表达⼀起限制过滤表达式的格式为:tag:prority (因为同⼀个tag可以有不同的优先级)如:adb logcat ActivityManager:I MyApp:D *:S备注1:仅⽤于输出标记为“ActivityManager”且优先级⼤于等于"I"和标记为“MyApp”,优先级⼤于等于"Debug"的⽇志。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
adblogcat-b选项是可以复用的,因此我们抓取所有Log的命令就是复用了-b选项。抓取命令如下:
adblogcat-b main -b system -bradio -b events -v time > /all.log
adblogcat-b main > /main.log
Event Log
event log属于system log,平时可以跟在main log之后。抓取命令如下:
advent.log
-v time表示在log中加入每条log发生的时间。
完整Log
Radio Log
-b radio参数可以抓取Android RIL层log,在调试Android通信方面的代码时,这个Log非常关键。抓取命令如下:
adblogcat-b radio > /radio.log
Main Log
main log和我们在eclipse里通过DDMS中看到的log是一致的。抓取命令如下:
Log分类
Android日志主要分为kernel、radio、event、main这四种log。
Kernel Log
kernel log属于Linux内核的log,可以通过读取/proc/kmsg或者通过串口来抓取。adb抓取kernel log的命令如下(需要有root权限):
adbshell cat /proc/kmsg> /kernel.log
相关文档
最新文档