是否可以在未植根的设备上设置日志级别?所以我想以某种方式将设备日志级别更改为“调试”。这是可以做的吗?
由于它没有扎根,我认为 setprop 不会起作用。我也不能更改 local.prop 文件,因为我没有这样做的权限。
除了可能幸运并找到一个包含日志级别的隐藏菜单之外。有没有办法让我以其他方式提高日志级别?
谢谢您的帮助。
是否可以在未植根的设备上设置日志级别?所以我想以某种方式将设备日志级别更改为“调试”。这是可以做的吗?
由于它没有扎根,我认为 setprop 不会起作用。我也不能更改 local.prop 文件,因为我没有这样做的权限。
除了可能幸运并找到一个包含日志级别的隐藏菜单之外。有没有办法让我以其他方式提高日志级别?
谢谢您的帮助。
setprop
:
local.prop
只有在有根手机上才有可能写入,您可以通过重新启动来保留属性。日志级别:
Log.d()
那么它将处于“调试”级别,除非您更改代码并重新编译它,否则您无法更改它。如果您执行Log.?
无论级别如何,都不会隐藏日志消息。if (LOCAL_LOGV) Log.v(...
- 您需要在此处更改代码才能看到这些消息。Config.LOGV
(=总是false
)控制,请参见Config。也没有办法改变这里的破坏行为。你需要重新编译。例子
public static final boolean DEBUG_SQL_CACHE =
Log.isLoggable("SQLiteCompiledSql", Log.VERBOSE);
// somewhere in code
if (SQLiteDebug.DEBUG_SQL_CACHE) {
Log.d(TAG, "secret message!");
}
如果你这样做adb shell setprop log.tag.SQLiteCompiledSql VERBOSE
,你应该会看到这些消息弹出。日志#isLoggable()
我知道没有全局日志级别。
让我建议标准日志类的一个小替代品(我是作者)
它是向后兼容的,所以你只需要修改你的导入。然后,您可以通过Log.level(Log.D)
orLog.level(Log.W)
等设置应用程序的最低日志级别,或者您可以使用Log.useLog(false)
. 无需修改现有的日志记录代码。
Despite of its small size this logger works with both, JVM and Android, allows you to skip the "tag" parameter, simplifies logging of multiple values separated by commas or using a format string. So it's really convenient, easy to migrate to, and only adds ~4 kilobytes to your APK size.