logcat是什么?

Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪以及从您的应用使用 Log类编写的消息。

格式:[adb] logcat [<option>] ... [<filter‐spec>] ...

logcat 命令参数:
-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 设置默认的过滤级别为silent.( -s robin:I )
-v <format> 设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表

logcat缓冲区:adb logcat -b <buffer>
main 查看主要日志缓冲区(默认值)
events 查看包含事件相关消息的缓冲区
radio 查看包含无线装置/电话相关消息的缓冲区
system 查看系统组件的log

logcat日志输出格式:adb logcat -v <format>
brief 显示优先级/标记以及发出消息的进程的 PID(默认格式)
brief 显示优先级/标记,以及发出消息的进程的 PID(默认格式)
process 只显示 PID
tag 只显示优先级/标记
raw 显示原始的日志消息,没有其他元数据字段
time 显示日期、调用时间、优先级/标记以及发出消息的进程的 PID
threadtime 显示日期、调用时间、优先级、标记以及发出消息的线程的 PID 和 TID
long 显示所有元数据字段,并使用空白行分隔消息

logcat过滤日志输出:[<filter‐spec>] 格式:tag:priority
V (verbose)— 详细(最低优先级) D (debug)— 调试
I (info)— 信息 W (warning)— 警告
E (error)— 错误 F (fatal)— 致命
S (silent)— 静默(最高优先级,不会打印任何内容)

例: adb logcat ActivityManager:I MyApp:D *:S
最后一个元素 *:S 将所有标记的优先级设为“静默”,从而确保系统仅显示带有“ActivityManager”和“MyApp”标记的日志消息。

使用 *:S 可有效地确保日志输出受限于您已明确指定的过滤器 —它允许过滤器充当日志输出的“白名单”。

adb logcat 和 adb shell logcat 的区别:

区别:

adb logcat 抓取设备log时,使用Ctrl +C命令或 Ctrl + D 命令时,此时会终止对设备log 的抓取。

adb shell logcat 如果也做同样的操作,结果是一样的,也就说结果上并没有任何区别。

但是当 adb shell 和 logcat 分段使用时,就能看到不一样的效果。在shell中执行的命令logcat一直在后台运行,当操作快捷键后,logcat线程也就终止了

注:1.adb logcat 或者 adb shell logcat 都可以
2.一般长时间输出log的话建议-f,-n,-r三个参数连用,这样当一个文件日志输出满了之后可以马上在另一个中进行输出。
3.默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log

详情查看安卓官网developer.android.com

Logcat命令详情的更多相关文章

  1. adb logcat 命令

    转自:http://blog.csdn.net/tumuzhuanjia/article/details/39555445 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb log ...

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

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

  3. Android的logcat命令详解

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

  4. adb logcat 命令行用法

    作者 :万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入  ...

  5. Android NDK 开发中 adb logcat 命令的使用

    一.LogCat 存储在一个叫做 circular memory buffers 的缓冲中. 平时常用的都是通过eclipse 自带的 logcat 插件查看 logcat ,其实也可以通过命令来导出 ...

  6. adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug

    1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...

  7. logcat命令详解【二】

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

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

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

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

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

随机推荐

  1. 第23月第24天 git命令 .git-credentials git rm --cached git stash clear

    在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...

  2. Viterbi

    把语音分割为计算发音质量测度所需要的小单元时候,需要进行Viterbi对齐 Viterbi,在htk和sphinx中,也被称作token passing model Viterbi解码图是 状态数Sm ...

  3. mybatis执行批量更新数据

    1.业务需求:同时执行多记录批量操作 2.实现方法:     1)mapping: 2) dao 层 3)Service 层(注意要使用Transactional,否则可能会导致数据紊乱) 4)Con ...

  4. mfc调用WPFDLL

    1.修改MFC项目属性支持CLR 2.打开vcxproj,修改<PropertyGroup Label="Globals"> <PropertyGroup Lab ...

  5. MVC_Route层层深入

    1.前期准备 新建一个MVC项目,并添加Home和About两个控制器 在这两个控制器对应添加index页面 namespace Study_MVC_Route.Controllers { publi ...

  6. bzoj3262: 陌上花开(CDQ+树状数组处理三维偏序问题)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3262 题目大意:中文题目 具体思路:CDQ可以处理的问题,一共有三维空间,对于第一维我们 ...

  7. 实验吧 ASCII艺术

    题目链接:http://ctf5.shiyanbar.com/ppc/acsii.php 首先我们先理清题意,题目的意思是将下面这样这些小叉叉组成的数字,连起来输入得到flag,并且要在两秒以内. 两 ...

  8. 前端 - jquery方式 / iframe +form 方式 上传文件

    环境与上一章一样 jquery 方式上传文件: HTML代码 {#html代码开始#} <input type="file" id="img" > ...

  9. C/C++中 # 的神奇作用:把宏参数字符串化/贴合宏参数

    一.一般用法   我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. #define STR(s) #s #define CONS(a,b) int(a##e##b) printf(ST ...

  10. ESD总结

    设计人员完全可以让系统在经过ESD事件后不发生故障并仍能继续运行.将这个目标谨记在心,下面让我们更好地理解ESD冲击时到底发生了什么,然后介绍如何设计正确的系统架构来应对ESD. 简单模型 将一个电容 ...