Android logcat命令详解
一、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 radioadb logcat –b systemadb logcat –b eventsadb 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"
转载于:https://www.cnblogs.com/JianXu/p/5468839.html
Android logcat命令详解相关推荐
- android logcat 命令详解
转载自:http://www.cnblogs.com/flyingcode/p/5280501.html Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区 ...
- Android的Logcat命令详解:翻译Enabling logcat Logging
Android的Logcat命令详解 --翻译Enabling logcat Logging 田海立@CSDN 2011/07/28 Android LOG系统提供了收集和查看系统调试输出的功能.各种 ...
- android route命令详解,route cmd命令详解
在本地 IP 路由表中显示和修改条目.使用不带参数的 route 可以显示帮助.接下来是小编为大家收集的route cmd命令详解,希望能帮到大家. route cmd命令详解 语法 route [- ...
- android+tracert命令详解,tracert 命令详解(示例代码)
tracert 命令详解 How to Use the TRACERT Utility The TRACERT diagnostic utility determines the route to a ...
- Android LogCat使用详解
Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 ...
- logcat命令详解
一.logcat命令介绍 1.android log系统 2.logcat介绍 logcat是android中的一个命令行工具,可以用于得到程序的log信息 log类是一个日志类,可以在代码中使用lo ...
- android sqlite 参数,Android SQLite3命令详解教程
SQLite3可以让我们手动的对SQLite数据库进行管理.一共有2个sqlite3,一个在电脑上,它位于 android-sdk-windows\tools\sqlite3.exe,用于电脑上SQL ...
- Android pm 命令详解
一.pm命令介绍与包名信息查询 1.pm命令介绍 pm工具为包管理(package manager)的简称 可以使用pm工具来执行应用的安装和查询应用宝的信息.系统权限.控制应用 pm工具是Andro ...
- Android pm命令详解
在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之. 0. Usage: ...
最新文章
- [零基础学JAVA]Java SE应用部分-27.Java IO操作(01)
- 【Java 注解】自定义注解 ( 使用注解实现简单测试框架 )
- 学习构建WDF驱动程序 - 初步了解SOURCE和makefile文件
- html中传递sessionid,sessionID是怎么在客户端和服务器端传递的?
- GDCM:gdcm::ExplicitDataElement的测试程序
- MySQL分组函数的使用特点
- mysql问题处理积累
- python yield 简单用法_通过实例简单了解python yield使用方法
- 快速web app之道
- linux提取声卡的codec教程,发个菜鸟提取声卡codec文件图文教程,老手就别看了,小心被骂!...
- databus mysql搭建_databus bootstrap 部署
- 解决VMWare虚拟机IP变成127.0.0.1和选择固定IP段
- Number.isInteger在IE中报错的解决方法
- .NET 调用外部exe程序,出现已停止工作
- c#初学者记录(1)
- Linux网络协议栈
- 建筑工程师的转行学计算机科学与技术的抉择
- 视频剪辑素材哪里找?这个几个网站就够了。
- 如何申请注册微信公众号
- linux下登录不上oracle,Oracle特定用户登录失败案例 ORA-20001
热门文章
- usaco Sweet Butter(迪杰斯特拉(优先队列优化),bellman_ford算法模板)
- qt qgis linux,QGIS初识-Qt编译环境配置
- php将json分页,php处理分页数据并返回json
- aes js 加盐值 解密_crypto-js aes加密解密
- overflow超出显示_[CSS]text-overflow: ellipsis;什么时候可能不生效?
- java反射最佳实践,java反射性能测试分析
- 对象特性-----拷贝构造函数的调用
- 计算机显示器黑屏首先检查,蓝快干货 | 电脑黑屏的解决办法
- python端午dragboat消消乐 美轮美奂的界面效果
- python操作word文档(python-docx)