如何在android中为应用程序添加秘密日志记录功能



我想添加一个秘密日志切换开关,这样当这里的QA人员测试应用程序时,他们应该能够做一些神奇的秘密技巧,在手机上为他们打开日志。

魔术秘密意味着点击屏幕的几个部分应该打开它或你建议的其他东西。这个秘密应该只有QA团队知道,这不应该以任何其他方式影响应用程序。

我计划把这些语句记录在sd卡上的一个文件中。

你有什么想法?最好的方法是什么?

通常的做法是什么?

在登录的情况下为QA构建一个版本,在生产时关闭它。避免魔术。

一个非常简单的方法是检查SD卡上是否存在文件(空文件,无关紧要)。您可以使文件名动态(基于日期/月份)或非常模糊。

您可以选择不隐藏功能,只需放置一个按钮(例如在about框中)即可启用日志记录。然后,如果你在客户网站上遇到问题,你很难复制,你也有可能让客户向你发送日志。

否则,我还建议检查sd卡上的一些神奇文件(例如,应用程序xyz启用日志),如果存在,你会自动开始登录到该sd卡。然后,在运行你的应用程序之前,你的所有QA人员都会在他们的sd卡上用这个名字制作一个空文件。

正常的方法(除了单独的构建)是使用标准的Android日志记录。你可以教你的QA人员提取LogCat日志,或者为他们构建一个小脚本。然后当你登录时,确保只记录必要的级别。例如:

private static String LOG_TAG = "MyLogTag";
private static boolean D = Log.isLoggable(LOG_TAG, Log.DEBUG);
...
if (D) {
    Log.d(LOG_TAG, "Something happened that I want to log!");
}

通常情况下,该语句不会记录,但如果你想打开它,你可以运行:

adb shell setprop log.tag.MyLogTag DEBUG

最新更新