使用Android Logger的最佳做法是什么?

时间:2014-07-25 06:23:47

标签: android file logging

我是Android新手。请帮助我了解使用Android Logger的最佳做法。我是否需要在android中保存文件并继续将日志写入其中,或者不需要将日志写入文件。什么是最好的做法。

我的真实意图是这个。 一旦我们上线,如果我们的客户回来并告诉我们他们的机器人崩溃或无法工作,那么我们如何调试? 在Web应用程序中,我会要求我的服务器管理员提供日志文件。当没有服务器错误但手机中出现故障时,我们如何处理Android应用程序。有没有办法从手机上获取日志。

由于 拉维

6 个答案:

答案 0 :(得分:0)

如果您计划发布/分发您的应用程序,那么可以将日志存储在文件中,但根据我的意见,这不是更好的解决方案。您可以从应用程序配置在线工具。

捕获所有服务器异常并发送有关该异常的所有详细信息。并将任何一个日志记录工具配置到您的应用程序中。

您可以看到log4j http://logging.apache.org/log4j/2.x/或ACRA http://acra.ch/http://www.crittercism.com/

答案 1 :(得分:0)

取决于您的需求,您需要进行日志记录以进行半调试,而不是轻松使用buildin日志功能。通过Logcat,您可以轻松查看日志。

http://www.vogella.com/tutorials/AndroidLogging/article.html

//Declare a tag
String TAG= "SomeActivity";

//Log
Log.d(TAG, "Hello World"); //debug
Log.e(TAG, "Hello World"); //error

如果您希望在发布应用程序时记录多个设备。使用专用的Log Framework(例如Log4J)并将其上传到服务器。

答案 2 :(得分:0)

Android记录器(android.util.Log)输出转到您不必维护的控制台。您实际上不必管理文件,只需输出。

您有5类日志:

  • 详细:使用Log.v(tag, message)
  • debug:使用Log.d(tag, message)
  • info:使用Log.i(tag, message)
  • 警告:使用Log.w(tag, message)
  • 错误:使用Log.e(tag, message)

例如:

Log.e("MyActivity", "Oops... caught this exception: " + exception.getMessage());

LogCat控制台(这是它的名称)允许您按日志级别进行过滤。这是一个ceil过滤。例如,如果按“警告”进行过滤,您将看到所有警告和错误,但不会看到详细,调试和信息消息。

您可以在official documentation中找到更多详细信息。

答案 3 :(得分:0)

一个提示(如果您使用的是Eclipse,并且与问题没有直接关系) - Eclipse对于查看日志非常不可靠。显然没有理由它不时地完全停止显示日志。一个简单的解决方案是使用命令行工具查看日志。在Linux上你可以这样做:

$adb logcat MyTag:D *:S

如果您想将日志捕获到文件中,您可以执行以下操作:

$adb logcat -d > logcat.txt.

希望这有帮助!

答案 4 :(得分:0)

我的真实意图是这个。 一旦我们上线,如果我们的客户回来并告诉我们他们的机器人崩溃或无法工作,那么我们如何调试? 在Web应用程序中,我会要求我的服务器管理员提供日志文件。当没有服务器错误但手机中出现故障时,我们如何处理Android应用程序。有没有办法从手机上获取日志。

答案 5 :(得分:0)

如果您将文件用于存储日志 - 如果文件变大,则可能会出现性能问题。所以你需要及时清理文件。 至于我最好的解决方案,请使用firebasehttps://fabric.io/。 我们使用fabric.io。 您也可以使用一些包装器作为默认的Log类。这一个https://github.com/JakeWharton/hugo例如