2011-07-27 28 views
0

我正在制作一个库,可以在通过HTTPS PUT发送到服务器之前记录Android应用中的错误和其他事件。这是可能的使用本地Log类 还是有更好的方法来做到这一点?支持批量上传日志将是一项奖励,但如果有必要,我很乐意自行实施。Android应用内日志记录

基本上就是我要找的是可以被配置为日志发送到服务器,而不是保存至本地日志记录器,并且可以在后台没有显著影响应用程序的性能执行此。

回答

1

创建您自己的记录器类。假设你调用类“MyLogger”,然后你可以创建一些方法模拟天生android的方法,如MyLogger.logI(name,text);

在您logI方法,你可以打印到标准的Android日志像往常一样(Log.i(...);),你也可以将日志中的文本发送到您的http服务器。

如果您需要关于http请求的帮助,您应该查看apache commons文档以获得良好的实现。您只需创建http请求,将数据添加到HttpPut实例,然后将请求发送到服务器(以您认为适合服务器的方式处理它)。确保你在AsyncTask中执行它,否则如果你没有使用后台线程,你可能会减慢UI等。

+0

感谢您的详细解答 - 现在我知道从哪里开始。我已经调查了使用'HttpClient',但使用一个'Service'日志的上传,具体为[IntentService](http://developer.android.com/reference/android/app/IntentService.html)。 AsyncTask会更好吗,还是只有在上传过程需要在完成后与UI进行交互时才需要? – caroline

+0

与服务的危险在于它更在应用程序中一个独立的实体 - 它有它自己的上下文等,你会好起来去为一个的AsyncTask,因为一旦完成,这将是它,你当然可以再次运行它下一个需要它 –

+0

时间是有道理的,特别是因为上传,可以频繁地进行。谢谢! – caroline