2011-01-24 88 views
3

如何从设备检索我的应用程序的错误日志(并通过互联网发送给服务器)?安卓错误日志记录

+1

澄清 - 你是指从其他人的手机收集日志条目(由您的应用程序生成)并以编程方式发送到您的网络服务器? – 2011-01-24 05:44:09

+0

理想情况下,您可以创建一种类型的错误处理类,用于在生成错误时实例化对象。一旦对象被创建,它就会连接并将该日志发送到您的Web服务器。 – 2011-01-24 05:50:07

回答

2

(假设你正在使用日志框架从android.util.Log包)。

你可以从你的过程中开始使用特定的参数“的logcat”的过程。它会转储最后16k的日志(16k - 是我手机的默认值,在其他手机上可能不同)。

下面是转储所有日志命令行的例子:logcat -d -f /mnt/sdcard/log-dump.txt
,从所有的应用程序转储错误又如:logcat -d -f /mnt/sdcard/err-dump.txt *:e

你需要从启动应用程序中的过程编程。然后以您想要的方式处理log-dump.txt/err-dump.txt

你也可能想要监视日志,然后那些默认的16k可以允许你。为此,您需要启动logcat而不使用-d参数。如果这样做了,logcat进程会将日志写入文件,只要您想要。当你完成后,杀死logcat进程。

在任何情况下,你可以看看&测试手动logcat中使用adb logcat <params>从您的计算机。

2

我认为你需要实现try_catch块。

try 
{ 

} 
catch(Exception e) 
{ 
    Log.e("Exception found ",e.getMessage); 
    // post the exception message to your server 
} 

这样您就可以将错误日志消息发送到服务器。