QQ 1274510382
Wechat JNZ_aming
商业互捧 QQ群538250800
技术搞事 QQ群599020441
技术合作 QQ群152889761
加入我们 QQ群649347320
纪年科技aming
网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。


为什么使用Log而不使用System.out

System.out.println()方法来打印日志
这个方法除了使用方便一点之外,其他就一无是处了。

在Eclipse中你只需要输入syso,
然后按下代码提示键,这个方法就会自动出来了

日志打印不可控制、
打印时间无法确定、
不能添加过滤器、
日志没有级别区分……


在LogCat中是可以很轻松地添加过滤器
有两个过滤器
All messages过滤器也就相当于没有过滤器,会把所有的日志都显示出来
com.test.helloworld过滤器是我们运行HelloWorld项目时自动创建的
点击这个过滤器就可以只看到HelloWorld程序中打印的日志

自定义过滤器

onCreate()方法里打印的日志没了,
因为data这个过滤器只会显示Tag名称为data的日志。

你可以尝试在onCreate()方法中把打印日志的语句改成
Log.d(“data”, “onCreate execute”),
然后再次运行程序,你就会在data过滤器下看到这行日志了。

LogCat中的5个级别日志级别控制

调试信息分为五类:

VERBOSE 类型调试信息,verbose啰嗦的意思
DEBUG 类型调试信息, debug调试信息
INFO 类型调试信息, 一般提示性的消息information
WARN 类型调试信息,warning警告类型信息
ERROR 类型调试信息,错误信息

 Log.v(String tag, String msg); //VERBOSE
Log.d(String tag, String msg); //DEBUG
Log.i(String tag, String msg); //INFO
Log.w(String tag, String msg); //WARN
Log.e(String tag, String msg); //ERROR
Tag为调试信息标签名称,msg为添加的调试信息

Android Log调试信息的显示

Android Log添加的调试信息主要在logcat中显示,
在安装好Android开发环境的eclipse中DDMS模式和Debug模式下都有Logcat标签窗口,里面会显示所有的调试信息。

具体该调用哪个方法添加什么类型的调试信息?

可根据Logcat提供的过滤器来和信息类型
来决定使用Log的那个方法添加哪类调试信息。

Logcat调试信息显示窗口 右上方有5个图标,
代表 过滤器,可过滤输出相应的调试信息:

V:不过滤输出所有调试信息
包括 VERBOSE、DEBUG、INFO、WARN、ERROR

D:debug过滤器,输出DEBUG、INFO、WARN、ERROR调试信息
I:info过滤器,输出INFO、WARN、ERROR调试信息
W:waring过滤器,输出WARN和ERROR调试信息
E:error过滤器,只输出ERROR调试信息

adb查看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
  • 标记是一个简短的字符串,用于标识原始消息的来源。

– 如下是一个日志输出的消息,优先级是“D”,标记是“PowerManagerService”:

D/PowerManagerService( 305): onSensorChanged: light value: 306.0

–使用logcat命令查看android日志输出:

adb logcat     //显示全部日志
adb logcat > c:\test.log //将日志保存到文件test.log

–根据tag标记和级别过滤日志输出:

仅输出标记为“ActivityManager”且优先级大于等于“Info”和标记 为“PowerManagerService”并且优先级大于等于“Debug”的日志:

adb logcat ActivityManager:I PowerManagerService:D *:S注:*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。adb logcat *:W   //显示所有优先级大于等于“warning”的日志adb logcat -s PowerManagerService   //显示PowerManagerService的日志信息

Logcat命令列表:

-d 将日志显示在控制台后退出
-c 清理已存在的日志
-f <filename> 将日志输出到文件
adb logcat -f /sdcard/test.txt-v <format>设置日志输入格式控制输出字段,默认的是brief格式
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
adb logcat -v thread   //使用 thread 输出格式
注意-v 选项中只能指定一种格式。-b <buffer>加载一个可使用的日志缓冲区供查看,默认值是main。
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)adb logcat -b radio     //查看radio缓冲区

Android——调试之 Log和LogCat的详解相关推荐

  1. Android调试必用工具adb命令详解

    前言 adb全称为Android Debug Bridge,译为安卓调试桥.是一个命令行工具,主要用于调试设备.adb.exe放置在/sdk/platform-tools目录下,可对设备进行各种操作, ...

  2. Android的Logcat命令详解:翻译Enabling logcat Logging

    Android的Logcat命令详解 --翻译Enabling logcat Logging 田海立@CSDN 2011/07/28 Android LOG系统提供了收集和查看系统调试输出的功能.各种 ...

  3. Android 8.0学习(32)---Android 8.0源码目录结构详解

    Android 8.0源码目录结构详解 android的移植按如下流程:     (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来.     (2)正确挂载文件系统 ...

  4. Android 各大厂面试题汇总与详解(持续更新)

    介绍 目前网络中出现了好多各种面试题的汇总,有真实的也有虚假的,所以今年我将会汇总各大公司面试比较常见的问题,逐一进行解答.会一直集成,也会收集大家提供的面试题,如有错误,请大家指出,经过排查存在,会 ...

  5. Android进阶笔记:Messenger源码详解

    Messenger可以理解为一个是用于发送消息的一个类用法也很多,这里主要分析一下再跨进程的情况下Messenger的实现流程与源码分析.相信结合前面两篇关于aidl解析文章能够更好的对aidl有一个 ...

  6. Android消息传递之EventBus 3.0使用详解

    前言: 前面两篇不仅学习了子线程与UI主线程之间的通信方式,也学习了如何实现组件之间通信,基于前面的知识我们今天来分析一下EventBus是如何管理事件总线的,EventBus到底是不是最佳方案?学习 ...

  7. 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解

    转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解 ...

  8. 融云android聊天界面,Android 融云IM集成以及使用详解(一)

    Android 融云IM集成以及使用详解(一) 集成 1.具体的集成步骤就不在详细介绍,我们只说干货,附上融云IM官方文档地址,里面有更为详细的集成介绍 https://www.rongcloud.c ...

  9. Android 融云IM集成以及使用详解(二)

    Android 融云IM集成以及使用详解(二) 上篇讲解了集成和好友列表和消息记录的使用,这篇将讲解聊天界面和群聊界面的使用 先附上一张效果图 先介绍布局文件 <LinearLayout xml ...

最新文章

  1. 【数据结构】二叉树的应用。
  2. DWR小结DWRUtil篇
  3. 编程之美-分层遍历二叉树方法整理
  4. AWS_EC2_Oracle安装教程
  5. Android Activity动画属性简介
  6. 百度地图 Android SDK - 检索功能使用的简单演示样例
  7. 一篇文章搞懂腾讯云AI平台的人工智能IDE:TI-ONE
  8. 十多位全球技术专家,为你献上近十个小时的.Net微服务介绍
  9. 安卓手机 服务器 性能,鲁大师Q3安卓手机性能榜发布:华为Mate30 Pro第三 这款手机称王...
  10. DateTime 格式相比较,timestampdiff() 函数的运用
  11. javaSE(java基础库)私人学习笔记
  12. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法Windows版(手贱强制重启电脑的后果)...
  13. 串口线的交叉直连之痛
  14. python爬虫时爬取的html代码显示“请开启JavaScript并刷新该页”
  15. 银行核心系统之存款业务(一)
  16. 计算机操作系统--缺页中断与越界中断
  17. 苹果微信分身版ios_苹果iOS系统的设备怎样安装两个微信
  18. 自学java,学多久可以找到工作?
  19. mysql 发生系统错误1067的解决方法
  20. jquery-1.8.3中的BUG typeError:elem.nodeName.toLowerCase is not a function

热门文章

  1. STM32(基于HAL库)驱动0.96寸OLED屏幕(四脚且中英文皆可显示)
  2. go nacos服务发现
  3. 电石双向无人值守称重系统功能详解
  4. 电驴大全为什么下载不了的原因,以及其他下载资源的网站
  5. 计算机的模拟电路基础
  6. Google地图获取城市名称
  7. 使用wacom数位板配套的笔无法利用按键实现滚动的问题
  8. Win11右下角图标折叠不见了怎么办?
  9. vs2019无法连接到远程服务器,VS2019无法添加引用问题
  10. 【imessage苹果推安装】软件相册代发Mac.InceptedefisValidMac帐户登录跟踪记录