设为首页 加入收藏

TOP

[小代码]如何捕获应用程序日志。
2014-11-24 11:07:17 】 浏览:629
Tags:代码 如何 捕获 应用程序 日志

你必须加入权限:
[java]

然后您可从手机系统里的命令行运行logcat,它只是得到一个转储的输出。

我推荐进行过滤输出,只输出AndroidRuntime的error错误和你的应用程序的所有log信息。


[java]
Process mLogcatProc = null;
BufferedReader reader = null;
try
{
/* 运行logcat
AndroidRuntime:E(输出AndroidRuntime的error等级以上错误)
[你应用程序包名]:V(输出你的应用程序的V — Verbose等级以上错误,既所有log信息)
*:S(其他log信息都silent,既都不输出)
*/
mLogcatProc = Runtime.getRuntime().exec(new String[]
{"logcat", "-d", "AndroidRuntime:E [你应用程序包名]:V *:S" });

reader = new BufferedReader(new InputStreamReader
(mLogcatProc.getInputStream()));
String line;
final StringBuilder log = new StringBuilder();
String separator = System.getProperty("line.separator");

while ((line = reader.readLine()) != null)
{
log.append(line);
log.append(separator);
}

/* 做任何你想要的。比如保存到文件。我建议把日志通过电子邮件发送给你
请查看:http://blog.csdn.net/laihuan99/article/details/8929493
*/
}

catch (IOException e)
{
...
}
finally
{
if (reader != null)
try
{
reader.close();
}
catch (IOException e)
{
...
}
}

Process mLogcatProc = null;
BufferedReader reader = null;
try
{
/* 运行logcat
AndroidRuntime:E(输出AndroidRuntime的error等级以上错误)
[你应用程序包名]:V(输出你的应用程序的V — Verbose等级以上错误,既所有log信息)
*:S(其他log信息都silent,既都不输出)
*/
mLogcatProc = Runtime.getRuntime().exec(new String[]
{"logcat", "-d", "AndroidRuntime:E [你应用程序包名]:V *:S" });

reader = new BufferedReader(new InputStreamReader
(mLogcatProc.getInputStream()));
String line;
final StringBuilder log = new StringBuilder();
String separator = System.getProperty("line.separator");

while ((line = reader.readLine()) != null)
{
log.append(line);
log.append(separator);
}

/* 做任何你想要的。比如保存到文件。我建议把日志通过电子邮件发送给你
请查看:http://blog.csdn.net/laihuan99/article/details/8929493
*/
}

catch (IOException e)
{
...
}
finally
{
if (reader != null)
try
{
reader.close();
}
catch (IOException e)
{
...
}
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇springMVC+Java验证码完善注册功.. 下一篇营救公主(Java实现A*算法解决迷宫..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目