一、logcat命令介绍

1.android log系统

2.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}

3.logcat命令格式

语法格式:

[adb] logcat [<option>] … [<filter – spec>] …

PC端使用:

adb logcat

shell模式下使用:

logcat

二、logcat缓冲区

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.缓冲区模型

3.获取缓冲区命令

参数

描述

-b<buffer> 加载一个可使用的日志缓冲区提供查看,默认值是main

4.实例

adb logcat –b radio

adb logcat –b system

adb logcat –b events

adb logcat –b main

三、logcat命令参数

1.参数说明

参数

描述

-b <buffer> 加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main
-c 清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)
-d 将缓冲区的log转存到屏幕中然后退出
-f <filename> 将log输出到指定的文件中<文件名>.默认为标准输出(stdout)
-g 打印日志缓冲区的大小并退出
-n <count> 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用
-r <kbytes> 没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用
-s 设置过滤器
-v <format> 设置输出格式的日志消息。默认是短暂的格式。支持的格式列表

一般长时间输出log的话建议-f,-n,-r三个参数连用,这样当一个文件日志输出满了之后可以马上在另一个中进行输出

2.实例

//将缓冲区的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格式化输出

1.参数说明

日志消息包含一个元数据字段,除了标签和优先级,您可以修改输出显示一个特定的元数据字段格式的消息。为此,您使用-v选项来指定一个支持的输出格式。一下为支持的格式:

格式

说明

brief 显示优先级/标记和过程的PID发出的消息(默认格式)
process 只显示PID
tag 只显示优先级/标记
raw 显示原始的日志消息,没有其他元数据字段
time 调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime 调用显示日期、时间、优先级、标签遗迹PID TID线程发出的消息
long 显示所有元数据字段与空白行和单独的消息

当logcat开始,指定想要输出格式-v选项:

[adb] logcat [-v <format>]

adb logcat –v thread

只能指定一个输出格式-v

2.例子

五、logcat优先级

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"

Android logcat命令详解的更多相关文章

  1. Android的logcat命令详解

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  2. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  3. Android日志监听工具logcat命令详解(转)

    Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用. 在使用logcat之前,请确保手机的USB调试 ...

  4. Android ADB命令详解

    adb的全称为Android Debug Bridge.是android司机经常用到的工具 . 你能在本篇文章中学到什么? adb基本指令 Shell AM&PM adb模拟用户事件 logc ...

  5. logcat命令详解【二】

    eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help  ...

  6. Android LogCat使用详解

    Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 只需 ...

  7. logcat命令详解【一】

    Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用. 在使用logcat之前,请确保手机的USB调试 ...

  8. appium---adb logcat 命令详解

    我们在做app测试的过程中,肯定会遇到需要抓取日志问题,这几天安静也遇到了此问题,后台日志生成的太多了,保存本地了吧,设备多没有这么USB,通过wifi连接又太麻烦,你说这怎么是好?不要着急,我们往下 ...

  9. 转: android emulator 命令详解

    在命令行输入: emulator -help,即可显示emulator支持的所有命令. Android Emulator usage: emulator [options] [-qemu args] ...

随机推荐

  1. JQ延迟对象

    延迟对象初识 技术一般水平有限,有什么错的地方,望大家指正. ES6已经实现了延迟对象Promise,但是今天主角是JQ里面的延迟对象,套路其实都是差不多的.下面先看一个比较牵强的例子: <bu ...

  2. 【LeetCode 234_链表】Palindrome Linked List

    ListNode* ReverseList(ListNode *p) { if (p == NULL || p->next == NULL) return p; ListNode *pre = ...

  3. mysql 函数 事务

    mysql 中提供了许多内置函数 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. 对于一个包含五个二字节字符集, LENGTH()返回 ...

  4. influx+grafana自定义python采集数据和一些坑的总结

    先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,注意其中几个key的值必须是int或者float类型,如果你不慎写成了strin ...

  5. 2N7002

    就相当于一个开关,当G>S的一定电压就导通,若没有达到就没有导通. 并且注意的是D脚不能直接接电压,中间要接一个电阻. 这用是G输入,S接地,D输出. 跟三极管差不多.分N和P

  6. hihocoder1545 : 小Hi和小Ho的对弈游戏(树上博弈&nim博弈)

    描述 小Hi和小Ho经常一起结对编程,他们通过各种对弈游戏决定谁担任Driver谁担任Observer. 今天他们的对弈是在一棵有根树 T 上进行的.小Hi和小Ho轮流进行删除操作,其中小Hi先手. ...

  7. koa-connect源码解析

    文中提到的koa均为koa2 提到nodejs, 想必大家都知道express和koa. express: 大 koa: 小 比较的的是功能, 社区, 中间件,相关资源等 这里我就专门说说中间件吧, ...

  8. hdu1238 Substrings 扩展KMP

    You are given a number of case-sensitive strings of alphabetic characters, find the largest string X ...

  9. jquey学习2之jquery动态添加页面片段

    第一个方法:append()方法 [1]$(selector).append(content)//向匹配的所有标签中的内容末尾处添加Html代码,会编译成页面显示. <html> < ...

  10. 记录一次服务器CPU 100%的解决过程

    昨天客户反馈业务系统很慢,而且偶尔报错. 查看nginx日志: [root@s2 nginx]# tail log/error.log 2017/03/14 12:54:46 [error] 1704 ...