日志存放位置:/dev/log

shell@xxx:/ $ ls /dev/log -l
crw-rw-rw- root log , -- : events
crw-rw-rw- root log , -- : main
crw-rw-rw- root log , -- : radio
crw-rw-rw- root log , -- : system

提示信息的格式:等级/标签 (pid):日志内容

E/NetworkController(  934): onReceive ETHERNET_STATE_CHANGED_ACTION

等级

V:Verbose
D: Debug
I: Info
W: Warn
E: Error
F: Fatal
S: Silent (supress all output)

标签:用来区分不同的调试信息,必须唯一。

logcat命令

shell@xxx:/ $ logcat --help
Usage: logcat [options] [filterspecs]
options include:
-s Set default filter to silent.
Like specifying filterspec '*:s'
-f <filename> Log to file. Default to stdout
-r [<kbytes>] Rotate log every kbytes. ( if unspecified). Requires -f
-n <count> Sets max number of rotated logs to <count>, default
-v <format> Sets the log print format, where <format> is one of: brief process tag thread raw time threadtime long -c clear (flush) the entire log and exit
-d dump the log and then exit (don't block)
-t <count> print only the most recent <count> lines (implies -d)
-t '<time>' print most recent lines since specified time (implies -d)
-T <count> print only the most recent <count> lines (does not imply -d)
-T '<time>' print most recent lines since specified time (not imply -d)
count is pure numerical, time is 'MM-DD hh:mm:ss.mmm'
-g get the size of the log's ring buffer and exit
-b <buffer> Request alternate ring buffer, 'main', 'system', 'radio',
'events', 'crash' or 'all'. Multiple -b parameters are
allowed and results are interleaved. The default is
-b main -b system -b crash.
-B output the log in binary.
-S output statistics.
-G <size> set size of log ring buffer, may suffix with K or M.
-p print prune white and ~black list. Service is specified as
UID, UID/PID or /PID. Weighed for quicker pruning if prefix
with ~, otherwise weighed for longevity if unadorned. All
other pruning activity is oldest first. Special case ~!
represents an automatic quicker pruning for the noisiest
UID as determined by the current statistics.
-P '<list> ...' set prune white and ~black list, using same format as
printed above. Must be quoted. filterspecs are a series of
<tag>[:priority] where <tag> is a log component tag (or * for all) and priority is:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent (supress all output) '*' means '*:d' and <tag> by itself means <tag>:v If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS.
If no filterspec is found, filter defaults to '*:I' If not specified with -v, format is set from ANDROID_PRINTF_LOG
or defaults to "brief"

用法:logcat   [选项]   [过滤规则]

-s:过滤,输出指定标签的信息

// 打印标签为"NetworkController"的所有日志
shell@xxx:/ $ logcat -s "NetworkController"
// 打印标签为"NetworkController",并且等级为 D 的日志
shell@xxx:/ $ logcat -s "NetworkController:D"

-f <filename>:日志输出到文件,默认到标准输出

shell@xxx:/ # logcat -f /data/local/tmp/log.txt

-v <format>:设置日志的打印格式,format只能取下面中的一个,brief / process / tag / thread / raw / time / threadtime / long

brief:显示等级、标签、pid和消息,是默认格式

process:显示等级、pid和消息

tag:显示等级、标签和消息

thread:显示等级、pid、线程和消息

raw:只显示消息

time:显示时间、等级、标签、pid和消息

threadtime:显示时间、等级、pid、线程和消息

long:显示时间、等级、pid、线程和消息,但消息内容在下一行显示,而且每条日志之间空一行。

// 日志添加时间(最常用)
shell@xxx:/ # logcat -v time

-c:清空日志信息

shell@xxx:/ # logcat -c

-d:打印日志并退出,不阻塞

shell@xxx:/ # logcat -d

-t <count>:打印最近count行日志,不阻塞

shell@xxx:/ # logcat -t 

-g:查看缓冲区大小并退出

shell@xxx:/ # logcat -g
main: ring buffer is 256Kb (7Kb consumed), max entry is 5120b, max payload is 4076b
system: ring buffer is 256Kb (3Kb consumed), max entry is 5120b, max payload is 4076b
crash: ring buffer is 256Kb (0b consumed), max entry is 5120b, max payload is 4076b

-b <buffer>:查看指定缓冲区,允许多个 -b 参数,并且打印是交错的

<buffer>可取:main / system / radio / event / crash / all,默认为 -b main -b system -b carsh

shell@xxx:/ # logcat -b main -b radio

-B:以二进制形式输出日志

shell@xxx:/ # logcat -B

-S:输出统计数据

shell@xxx:/ # logcat -S

-G <size>:设置日志环缓冲区的大小,可以使用K或M

shell@xxx:/ # logcat -G 256Kb

 |grep:过滤日志中的字符串,与-s过滤标签不一样

shell@xxx:/ # logcat -b main -b system -b radio -v time |grep SETUP_DATA_CALL

>:输出日志到文件(windows系统)

shell@xxx:/ #  logcat -b radio -v time > d:/log.txt

logcat调试系统的更多相关文章

  1. adb logcat调试中常用的命令介绍

    Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命 令来查看和使用. adb logcat 命令格式 : ad ...

  2. Android:基于Eclipse编译调试系统级应用源代码

    一.      概要描述 在使用Eclipse导入android工程源代码以后,我们可以使用ddms调试和跟踪源代码. 本文讲述动态调试源代码和静态调试源代码的两种方法,避免build system. ...

  3. 如何通过logcat查看系统程序的意图

    如果在logcat中不能看到系统程序启动时的意图的类名, 以打开图库(gallery)为例,可以通过在ddms中如图设置,就可以在tomcat中查看到gallery启动时的意图.

  4. 内存转储文件调试系统崩溃bug

    百度百科:内存转储文件 内存转储是用于系统崩溃时,将内存中的数据转储保存在转储文件中,供给有关人员进行排错分析用途.而它所保存生成的文件就叫做内存转储文件. 内存转储文件也被称作虚拟内存,它是用硬盘里 ...

  5. Unity3D利用Logcat调试安卓

    发布安卓包之后再次测试发生什么问题很难知道怎么了,比如说出现闪退等情况,可以用Logcat检测到,logcat是Android中一个命令行工具,可以用于得到程序的log信息,可以用 logcat 命令 ...

  6. centos7 上安装jira调试系统

    安装mysql数据库 在windows上面下载 http://dev.mysql.com/downloads/mysql/ 在liunx系统上可直接wget, wget https://dev.mys ...

  7. ubuntu17.04 调试系统工具bcc,systamtap安装

    发行版 ubuntu17.04 cat lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=17.04 DISTRIB_CODENAME=zesty DISTR ...

  8. 使用Windbg调试系统弹出的内存不可读错误

    步骤: 1. 使用Windbg挂钩到崩溃的进程上面 2. 使用~*k列出所有线程 3. 搜索UnhandledExceptionFilter所在的线程 4. 使用~ns切换到上面崩溃所在的线程,n为线 ...

  9. logcat的调试 比较有用的几个命令

    网上很多的logcat调试命令,但是太多的命令只会令人盐杂. (主要是adt工具带的调试功能容易死掉 每次都要重启太烦) 个人认为有一下几个常用命令: adb logcat -c 清除所有以前的日志 ...

随机推荐

  1. Qt5.3中qml ApplicationWindow设置窗口无边框问题

    这个版本的qt在这里有点bug.. 设置ApplicationWindow的flags属性为Qt.FramelessWindowHint的确可以使程序无边框,但是同时程序在任务栏的图标也没了. 看文档 ...

  2. Java复习5.面向对象

    Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更 ...

  3. Vundle简介安装

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  4. Runtime获取类的属性列表和方法列表

    Runtime获取类的属性列表和方法列表 Runtime很强大,他使得OC中没有真正意义上的私有属性和私有方法,我们可以利用OC的运行时拿到一个类的任何方法和任何属性,然后动态的去调用方法,objc_ ...

  5. 进程与网络监控和ssh简单使用

    进程的概念和管理 进程: 正在执行的程序 线程: 轻量级的进程 进程有独立的地址空间,线程没有 线程不能独立存在,它是由进程创建.Thread1.在linux中,每个执行的程序都称为一个进程.每一个进 ...

  6. Chrome自定义最小字号

    ============= ============== =======================

  7. Mac工具整理

    记录一下这两年来使用Mac的一些很好的工具: 1.offic,mac的office还是很强大的,比openoffice要好很多,更比WPS要好. 2.Toad连接数据库用的,一般用来连接Oracle. ...

  8. c# JScriptProvider包装

    using System; using System.CodeDom.Compiler; using System.Reflection; using System.Web.UI; using Mic ...

  9. [sklearn]性能度量之AUC值(from sklearn.metrics import roc_auc_curve)

    原创博文,转载请注明出处! 1.AUC AUC(Area Under ROC Curve),即ROC曲线下面积. 2.AUC意义 若学习器A的ROC曲线被学习器B的ROC曲线包围,则学习器B的性能优于 ...

  10. SEO - H标签

    前言 这两天在做网站的SEO.虽然之前SEO的资料看过很多,但是因为正职是美工的缘故,SEO的具体实施参与的较少.现在的公司有点特殊,SEO团队基本不懂代码,所以需要参与的比较多.以下内容主要是通过自 ...