java - Android 中的自动登录

标签 java android logging logcat

我是调试日志(在调试版本中)的粉丝,我想对我的自定义记录器类进行一些改进。理想情况下,我想创建一个基方法来记录调用类名称、方法名称和参数值。

例如,假设我有一个带有“MainActivity”类的应用程序“MyApplication”,并且我正在使用参数“bar”调用方法“foo”。我希望在 LogCat 中看到类似的内容:

D/MyApplication MainActivity foo("bar")

有没有一种方法可以获取这些信息,而无需手动传入所有这些值?我看过一些文章提到Java支持的方法,例如java.lang.invoke.MethodHandles,但我没有找到任何提到Android支持的方法。我预计必须传入参数,但自动化类名和方法名会非常好。

最佳答案

调用Thread.currentThread().getStackTrace()可以给你StackTraceElement当前线程的。然后您可以调用getClassName() , getMethodName()getLineNumber()打印出类、方法和代码行。代码看起来像这样。

StackTraceElement ste = Thread.currentThread().getStackTrace()[0];
String msg = ste.getClassName() + "." + ste.getMethodName() + ":" + ste.getLineNumber();

关于java - Android 中的自动登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404689/

相关文章:

java - 尝试将 <br>、<BR>、<br +attribute> 标签替换为 <br/>

java - java编程语言的局限性(缺点)?

Java 和内存泄漏

java - Android 中连接四个不同设备的阻塞 I/O 与 NIO

python - 单击复选框时隐藏严重的 pyqt 警告

java - 我可以使用 log4j 获得以下日志文​​件结构吗?

Java调用方法并捕获返回

android - 如何正确使用 AsyncTask 以避免 UI 变慢?

在 Windows 7 上的 VirtualBox 中运行的 Ubuntu 中无法识别 Android 设备?

python - Django 中 Python 日志记录的优雅设置