注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 

日志

 
 

android时时监听log  

2014-08-28 17:32:54|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
线程开启以后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 无论是我们自己写的还是系统写的都可以监听到 哇咔咔~~

@Override

public void run() {

Process mLogcatProc = null;

BufferedReader reader = null;

try {

//获取logcat日志信息

mLogcatProc = Runtime.getRuntime().exec(new String[] { "logcat","Mytest:I *:S" });

reader = new BufferedReader(new InputStreamReader(mLogcatProc.getInputStream()));

String line;

while ((line = reader.readLine()) != null) {

if (line.indexOf("this is a test") > 0) {

//logcat打印信息在这里可以监听到

// 使用looper 把给界面一个显示

Looper.prepare();

Toast.makeText(this, "监听到log信息", Toast.LENGTH_SHORT).show();

Looper.loop();

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

最重要的一定要加读取系统LOG的权限喔,否则是监听不到的。

<uses-permission android:name="android.permission.READ_LOGS" />

  评论这张
 
阅读(333)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017