adb logcat 通过包名过滤日志并输出到txt文件

最近学使用ADB命令抓包APP闪退的日志;

1)在cmd命令行中可以使用adb logcat 命令查看android系统的log,也可以使用adb shell进入到adb shell专用命令行

2)dos窗口可以直接输入log,或定向输出到txt文件;

3)按ctrl+c中断输入log记录;

android输出的每一条日志都有一个标记和优先级与其关联。

优先级是下面的字符,顺序是从低到高:

V — 明细 verbose(最低优先级)

D — 调试 debug

I — 信息 info

W — 警告 warn

E — 错误 error

F — 严重错误 fatal

S — 无记载 silent

具体每个命令的使用方法,可以查看:https://www.cnblogs.com/mgzc-1508873480/p/7116207.html

本次的重点:

1.如果要过滤特定级别日志,使用如下命令:

adb logcat *:W   //显示所有优先级大于等于“warning”的日志

2.添加包名过滤日志:

在adb的目录下添加两个文件getpid.bat和getpid1.bat:

1.getpid.bat

@echo off
adb shell "ps | grep xxx"

其中“xxx”是包名

2.getpid1.bat

方法1:直接在cmd里面打印日志;日志无过滤

@echo off
for /f  "tokens=2 delims= " %%i in (‘getpid.bat‘) do set pid=%%i
echo %pid%
adb logcat | find  "%pid%"
pause

方法2:直接在cmd里面打印日志;日志过滤;如过滤E及E级别以上日志;

@echo off
for /f  "tokens=2 delims= " %%i in (‘getpid.bat‘) do set pid=%%i
echo %pid%
adb logcat *:E | find  "%pid%"
pause

也可以方法2上修改加入定向输出到txt文件:adb logcat *:E | find  "%pid%" > MYAPP1.txt

运行方式:

1.连接好手机;在cmd中输入adb devices,检测设备是否正常连接;

PS:连接不正常,可以参考如下博文:https://www.cnblogs.com/sxming/p/7928361.html

2.双击getpid1.bat运行; 然后打开要抓取日志的APP

3.最后ctrl+c结束

原文地址:https://www.cnblogs.com/slowlysnail/p/8394937.html

时间: 2024-10-07 20:01:10

adb logcat 通过包名过滤日志并输出到txt文件的相关文章

adb logcat通过包名过滤(dos命令find后跟变量)

adb命令中似乎没有直接通过报名来过滤的功能,但是可以通过过滤进程的pid来过滤该应用的日志 过滤条件:该app在运行 实现原理: 1.获取该app运行时的pid 2.通过find命令,过滤pid的日志,就是该包的运行日志 实现: 1.在同一目录建立一文件:getpid.bat @echo off adb shell "ps | grep com.example.testprogram" 复制以上代码,保存 2.在同一目录建立另外一个问文件:getpid1.bat @echo off

adb logcat命令查看并过滤android输出log

adb logcat命令查看并过滤android输出log cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高:V — 明细 verbose(最低优先级)D — 调试 debugI — 信息 infoW — 警告 warnE — 错误 errorF — 严重错误 fatalS — 无记

android 通过包名过滤logcat

1 #!/bin/bash 2 3 if [[ ! -n $1 ]]; then 4 cat <<EOF 5 Usage: `basename $0` <packagename> 6 EOF 7 exit 1 8 fi11 12 package_name=$1 13 ip=110.1.1.19:5555 14 pid_list=$(adb -s $ip shell ps| grep $package_name) 15 if [[ -n $pid_list ]]; then 16 #

【android】 adb logcat命令查看并过滤android输出log

cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高: V — 明细 verbose(最低优先级) D — 调试 debug I — 信息 info W — 警告 warn E — 错误 error F — 严重错误 fatal S — 无记载 silent 标记是一个简短的字符串,用于

ABP增加记录EFCore 生成数据库脚本日志到新的txt文件

由于EFCore并没直接生成脚本到txt文件,故而自己画了点时间把实现记录下来,方便给大家参考. 0.安装Microsoft.Extensions.Logging.Debug,我这里是2.1.1版本. 1.新建一个EFCoreDatabaseCmdLog在abp的Core层下, using Abp.Dependency; using Castle.Core.Logging; namespace SensorBroker.Log { public static class EFCoreDataba

adb logcat查看手机端日志

前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了以下操作是基于windows平台的操作:adb logcat | findlinux平台的操作可以把find改成grep: adb logcat | grepwindows上的dos里面是没grep指令的 logcat输出日志 1.把日志存入手机sdcard某个目录(前提是这个目录要是存在的) adb logcat -f /sdcard/danjie/danjie

adb进阶知识,如何过滤只查看某一个app的日志

前面大概学习了adb基础,但是adb的存在,在测试人员中究竟有什么必要,以及看log时,那么多的log,让我们看个屁啊,所以这一次,我决定一定要把adb这件事情搞清楚. 1.先来看最感兴趣的adb日志 首先来了解一共概念,安卓的日志有那些: Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log.一般我们说的adb logcat看的都是android的日志 使用adb shell dmesg 可以能看Andr

adb获取App的包名和启动页

第一种情况: 查看手机里面已经安装的App: 1. 清除日志: adb logcat -c 2. 启动日志: adb logcat ActivityManager:I *:s 3. 启动手机App: 我启动的是手机淘宝, 找到这一行: com.taobao.taobao/com.taobao.tao.welcome.Welcome 即为包名和启动页, 请注意是启动页, 而不是首页MainActivity! 第二种情况: 查看apk安装包: 1. 切换到C:\Android\sdk\build-t

Ubuntu 下 使用 adb logcat 显示 Android 日志

作者 : 万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s Set default fil