我是 Android Studio 的新手,正在从事一个小组项目。我正在尝试将一些变量值记录到日志记录中。 当我使用 Log.e 时,值被正确记录。而当我使用 Log.w 或 Log.v 时,不会打印任何内容。在这里,我正在从 logcat 从错误切换到详细和警告,因为我正在使用 Log 但仍然看不到任何打印的内容。我以前使用 Toast 但听说使用它可能会使我的应用程序变慢并且在任何地方使用 Log.e 都不是好的实践。那么如何打印低优先级的日志呢?
我尝试引用以下资源,但没有找到任何可以帮助我为低优先级日志启用日志记录的信息,只是得到的信息表明由于某种原因低优先级日志被禁用。
- https://developer.android.com/reference/android/util/Log.html
- Android Log.v(), Log.d(), Log.i(), Log.w(), Log.e() - When to use each one?
提前谢谢你。
最佳答案
所有日志始终默认启用。
我认为您正在错误 View 中查看日志。
检查
- 您正在查看 Verbose 日志
- 您的过滤器已设置为选定的应用。
- 您选择了您的应用,而不是其他应用。 (下图中没有写可调试的过程)
Android Log.v(), Log.d(), Log.i(), Log.w(), Log.e() - When to use each one?
Log.e:这是在发生坏事时使用的。在诸如 catch 语句内的地方使用此标记。您知道发生了错误,因此您正在记录错误。
Log.w:当您怀疑有不正当行为时使用它。您可能没有完全进入错误模式,但也许您已从一些意外行为中恢复过来。基本上,使用它来记录您不希望发生但不一定是错误的事情。有点像“嘿,这件事发生了,这很奇怪,我们应该调查一下。”
Log.i:使用它来将有用的信息发布到日志中。例如:表示您已成功连接到服务器。基本上用它来报告成功。
Log.d:将其用于调试目的。如果您想打印出一堆消息以便记录程序的确切流程,请使用它。如果您想保留变量值的日志,请使用它。
Log.v:当您想对日志记录进行彻底的疯狂处理时使用它。如果出于某种原因您决定记录应用程序特定部分中的每一件小事,请使用 Log.v 标签。
由 link Kurtis Nusbaum 解释
更新:
如果上述方法不起作用,那么您遇到了设备设置问题。某些手机已将默认日志级别设置为 DEBUG 或 ERROR。 允许从手机设置中登录。
您可以通过 Log.isLoggable() 检查日志是否可记录
检查
Settings -> Accessibility -> Developer options -> advanced logging->set "Allow all"
或
Settings->Accessibility - > Developer Options -> Performance optimization -> Advanced logging -> set "Allow all"
或在“开发者选项”中搜索其他手机:选项“logging”并设置“all”。
- 当您的 Log.d 不工作时,您也可以使用 Log.wtf。
- 也尝试重新启动 android studio
关于默认情况下禁用的 Android : How to enable logging Log. v 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822191/