转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6765046
Logcat说明
Android开发中一共有5个log信息过滤器
分别是 VERBOSE 、DEBUG、 INFO、 WARN、 ERROR,这些各位盆友们应该都知道吧,不知道给我留言哈~~
请各位盆友们观察下面的代码,内容为监听一个按钮点击事件一旦点击后输出一段Logcat信息,为了监听系统打印的这个log信息我们开启一个线程在后台去监听它。
-
@Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.check);
-
-
-
button=(Button)findViewById(R.id.button0);
-
-
-
button.setOnClickListener(newOnClickListener(){
-
-
@Override
-
publicvoidonClick(Viewview){
-
-
Log.i("Mytest","thisisatest");
-
-
-
newThread(CheckActivity.this).start();
-
}
-
});
-
-
-
}
线程开启以后Runtime主要用于过滤logcat信息,这里主要说一下里面的参数
"logcat"不用说了吧,我们就是要监听它 呵呵。
"Mytest" 表示监听的Tag 这里以上面点击按钮输出的LOG信息为例。
"I"表示监听的Log类型,当然这里还可以写其它类型 。VERBOSE(v) 、DEBUG(d)、 INFO(i)、 WARN(w)、 ERROR(e), 不过须要与监听的与Tag一一对称才可以。
"*:s"表示监听所有的信息,这里表示只要tag是Mytest ,Logcat类型为i 的 所有Log都会被获取到。
然后将所有过滤出来的log信息存在 BufferReader中 调用readLine()可以获取到每一行的log信息。
line.indexOf("this is a test") 如果大于等于0 表示当前获取的log信息包含我们上面点击按钮的。
这样子就可以监听各种LOG 无论是我们自己写的还是系统写的都可以监听到 哇咔咔~~
最后用Toast将内容显示出来,因为在线程中所以必需使用Lopper不太了解的盆友请看Android游戏开发之多线程的操作方式(二十六)
-
@Override
-
publicvoidrun(){
-
ProcessmLogcatProc=null;
-
BufferedReaderreader=null;
-
try{
-
-
mLogcatProc=Runtime.getRuntime().exec(newString[]{"logcat","Mytest:I*:S"});
-
reader=newBufferedReader(newInputStreamReader(mLogcatProc.getInputStream()));
-
-
Stringline;
-
-
while((line=reader.readLine())!=null){
-
-
if(line.indexOf("thisisatest")>0){
-
-
-
Looper.prepare();
-
Toast.makeText(this,"监听到log信息",Toast.LENGTH_SHORT).show();
-
Looper.loop();
-
}
-
}
-
-
}catch(Exceptione){
-
-
e.printStackTrace();
-
}
-
-
}
最重要的一定要加读取系统LOG的权限喔,否则是监听不到的。
-
<uses-permissionandroid:name="android.permission.READ_LOGS"/>
分享到:
相关推荐
雨松MOMO带你做软件 Android软件开发之程序中时时获取logcat日志信息 黄英大家下载阅读 哇咔咔~~
主要介绍了Android开发之在程序中时时获取logcat日志信息的方法,结合实例形式较为详细的分析了实时获取logcat日志的原理、步骤与相关实现技巧,并附带相应的demo源码供读者下载参考,需要的朋友可以参考下
不使用Eclipse 和 Android Studio,也可以查看安卓日志的软件。告别adb命令行。 注意 该项目是基于Java环境开发,请自行安装Java环境。
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android 中的 logcat 是一个用于查看设备系统日志的命令行工具。通过 logcat,开发者可以实时查看应用程序的日志输出,帮助定位和解决应用程序的问题。logcat可以显示各种消息,如调试消息、错误消息和系统消息等,...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
Android常用开发工具Eclipse和Android Studio本身自带有日志查看工具LogCat,一般性使用基本满足要求。但若长期处于Android的深度开发,会发现自带的工具内容缓冲区有限,会造成历史数据的丢失,且无法进行信息过滤...
在 Android 系统中,有许多功能和工具可以用来查看各种系统状态信息和执行各种操作。这些功能对开发人员和系统管理员来说都是非常重要的,以便更好地理解系统的运行情况、调试和优化应用程序,以及进行系统管理。 1...
ANDROID 的推出后可能影响的产业包括移动电信业,软件开发业,手机制造业,在以消费者为核心的状 态 。 对消费者的影响 � 高档手机选择面增加。 � A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从...
在Activity中重载下9种事件函数,在调用不同函数时使用LogCat在Eclipse的控制台中输出调用日志。掌握Activity在启动、停止和销毁等不同阶段,9种重载函数的调用顺序,并掌握Android调试工具LogCat的使用方法
应用控制能力将一些日常开发过程中对应用的一些繁琐的操作或者命令行指令转变为可视化的操作,而且还有自动收集和整理Crash, ANR日志,并且可以自动关联Logcat日志 实时数据会随着当前页面变化或者系统事件实时变化...
在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据。Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的...
不使用Eclipse 和 Android Studio,也可以查看安卓日志的软件。告别adb命令行。 注意 该项目是基于Java环境开发,请自行安装Java环境 github地址: https://github.com/BerwinGitHub/ANDLogger