一. logcat是Android中一个命令行工具,可以用于得到程序的log信息。
开发过程中如何输出想要的信息到log?
Log 类是一个日志类,您可以在代码中使用 logcat 打印出消息。
常见的日志记录方法包括:
v(String, String) (verbose) 显示全部信息
d(String, String) (debug) 显示调试信
i(String, String) (information) 显示一般信息
w(String, String) (warning) 显示警告信息
e(String, String) (error) 显示错误信息
log的例子:
Log.i("MyActivity", "MyClass.getView() — get item number " + position);
logcat 命令获取log:adb logcat
logcat 将输出类似如下信息:
I/MyActivity( 1557): MyClass.getView() — get item number 1
实际例子
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
//添加一个tag,方便知道是哪个查log
public static java.lang.String TAG="MyApp";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//TAG 标记
Log.v(TAG, "LOGV,我是黑色的****************************");
Log.d(TAG,"LOGD,我是蓝色的****************************");
Log.i(TAG,"LOGI,我是绿色的****************************");
Log.w(TAG,"LOGW,我是橙色的****************************");
Log.e(TAG,"LOGE,我是红色的****************************");
}
}
二 . logcat 缓冲区— 缓冲区介绍
Android的Log 输出量巨大,特别是通信系统的Log,因此,Android把Log输出到不同的缓冲区中。目前定义了4个Log缓冲区:
Radio:输出通信系统的Log
System:输出系统组件的log
Event:输出event模块的log
Main:所有java层的log,以及不属于上面3层的Log
缓冲区主要给系统组件使用,一般的应用无需关心,应用LOG都输出到main缓冲区中。
三。logcat的命令
1.查看缓冲区的log命令:-b 后面跟缓存区名
adb logcat -b main -b system -b radio -b event
2. 清除缓冲区中的全部日志并退出(清除完后可以使用-g 查看缓冲区)
adb logcat -c
3.将缓冲区的log转存到屏幕中,然后退出
adb logcat -d
4.将log输出到指定的文件中 <文件名>. 默认为标准输出(stdout)
-f <filename>
常常和-c和-r 搭配使用
------------------------------------------------------------------------------------------
logcat要adb shell之后再设备中运行,不然会报错:
C:\Users\kanglimin>adb logcat -f E:\logcat\a.txt -n 2 -r 1
couldn't open output file: Read-only file system
---------------------------------------------------------------------------------------------
logcat -f /data/local/tmp/log.txt -n 10 -r 1
-rw------- root root 258 2016-07-13 15:47 log.txt
-rw------- root root 1056 2016-07-13 15:47 log.txt.1
-rw------- root root 1066 2016-07-13 15:47 log.txt.10
-rw------- root root 1056 2016-07-13 15:47 log.txt.2
-rw------- root root 1058 2016-07-13 15:47 log.txt.3
-rw------- root root 1056 2016-07-13 15:47 log.txt.4
-rw------- root root 1066 2016-07-13 15:47 log.txt.5
-rw------- root root 1056 2016-07-13 15:47 log.txt.6
-rw------- root root 1054 2016-07-13 15:47 log.txt.7
-rw------- root root 1054 2016-07-13 15:47 log.txt.8
-rw------- root root 1056 2016-07-13 15:47 log.txt.9
5.打印日志缓冲区的大小并退出
C:\Users\kanglimin>adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max pa
yload is 4076b
/dev/log/system: ring buffer is 256Kb (95Kb consumed), max entry is 5120b, max p
ayload is 4076b
6.设置日志的最大数目<count> ., 默认值是4,需要和 -r 选项一起使用。
-n <count> 文件个数
7.每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用
-r <kbytes> 单位是KB
8.设置过滤器
-s
9.设置输出格式的日志消息。默认是短暂的格式。支持的格式列表
-v <format>
logcat 格式化输出— 参数说明
日志消息包含一个元数据字段,除了标签和优先级。您可以修改输出显示一个特定的元数据字段格式的消息。为此,您使用- v选项来指定一个支持的输出格式。以下为支持的格式:
brief —显示优先级/标记和过程的PID发出的消息(默认格式)
process — 只显示PID
tag —只显示优先级/标记
raw —显示原始的日志消息,没有其他元数据字段
time —调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime —调用显示日期、时间、优先级、标签以及PID TID线程发出的消息
long —显示所有元数据字段与空白行和单独的消息
例子:
当logcat开始,您可以指定您想要的输出格式使用- v选项:
[adb] logcat [-v <format>]
这里有一个例子,展示了如何生成消息的线程输出格式:
adb logcat -v thread
请注意,您只能指定一个输出格式- v
三。 log的优先级
优先级使用字符标识,以下优先级从低到高
V — Verbose (最低优先级)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S— Silent
方便查找用户查看和自己相关的log
减少日志的输出可以建立一个过滤器:
过滤语法:tag:priority
adb logcat ActivityManager:I MyApp:D *:S
过滤TAG为ActivityManager输出级别大于I的日志与TAG为MyApp输出级别大于D的日志
adb logcat *:W 设置过滤级别为W以上
常用的设置为环境变量:
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"
Log.i("MyActivity", "MyClass.getView() — get item number " + position);
logcat命令获取log:adb logcat
logcat将输出类似如下信息:
I/MyActivity( 1557): MyClass.getView() — get item number 1
相关推荐
Android开发中LogCat工具的使用
事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示: Log.v() -------------------- VERBOSE Log.d() -------------------- DEBUG...
不使用Eclipse 和 Android Studio,也可以查看安卓日志的软件。告别adb命令行。 注意 该项目是基于Java环境开发,请自行安装Java环境。
alogcat android app 读取/显示logcat信息。
shell 脚本抓取android logcat和kernel log,以及删除旧的log,通过prop控制输出规则
雨松MOMO带你做软件 Android软件开发之程序中时时获取logcat日志信息 黄英大家下载阅读 哇咔咔~~
adb logcat查看日志工具,注意:必须有root权限才能查看完整logcat信息。详细介绍请点击http://developer.t-firefly.com/forum.php?mod=viewthread&tid=202&page=1&extra=#pid369
如何理解、使用Android LogCat以及通过Monkey进行压力测试
Android开发中LogCat工具的使用;LogCat是Android中一个命令行工具,可以用于得到程序的log信息,本附录讲解其使用方法和其中的一些技巧。
在Android界面上显示和获取Logcat日志输出 在Android界面上显示和获取Logcat日志输出
LogcatViewer - Android Logcat Viewer Purpose LogcatViewer is utility library which will allow user to view the logcat logs of the application on phone itself. It will be useful for tester to provide ...
LogcatView 一款可以在手机中打开logcat控制台
catdea插件旨在将android logcat日志条目与发出它们的源代码相匹配,
logcat 和 拷贝 屏幕到本地。 非常简单好用的一个记录文件。可以设置 截屏周期。
Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志......
Android的Logcat详细用法.doclllllllllllllllll
NULL 博文链接:https://mtj13617254943-126-com.iteye.com/blog/1004521
android通过logcat解决问题。文档详细的介绍如何实用logcat来解决android开发中遇到的问题
androidmonitor-android logcat查看,解决eclipse不能查看问题
只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器: V:不过滤输出所有调试信息 包括 VERBOSE、DEBUG、...