gpt4 book ai didi

android - Log.isLoggable 是否返回错误值?

转载 作者:可可西里 更新时间:2023-11-01 19:01:17 26 4
gpt4 key购买 nike

当我为我的 android 应用程序编写日志包装器时,我注意到 androids Log.isLoggable 方法有一个奇怪的行为。执行以下代码:

final String TAG = "Test";
Log.v(TAG, "verbose is active: " + Log.isLoggable(TAG, Log.VERBOSE));
Log.d(TAG, "debug is active: " + Log.isLoggable(TAG, Log.DEBUG));
Log.i(TAG, "info is active: " + Log.isLoggable(TAG, Log.INFO));
Log.w(TAG, "warn is active: " + Log.isLoggable(TAG, Log.WARN));
Log.e(TAG, "error is active: " + Log.isLoggable(TAG, Log.ERROR));

产生以下 LogCat 输出:

VERBOSE/Test(598): verbose is active: false
DEBUG/Test(598): debug is active: false
INFO/Test(598): info is active: true
WARN/Test(598): warn is active: true
ERROR/Test(598): error is active: true

尽管我使用详细和调试日志记录生成这些输出,但为什么我会变得冗长且调试不活跃?

最佳答案

如果您阅读关于 Log.isLoggable() 的信息,您会注意到默认的日志记录级别是 INFO。任何小于此的内容(DEBUGVERBOSE)都会导致此方法返回 false。这就是为什么您的结果输出将这两个显示为 false

所有 Log.* 调用都记录到 logcat。调用 Log.isLoggable() 只是您调整日志记录的一种方式。这不是必需的。通常,您会在实际的 Log.* 调用之前调用 Log.isLoggable() 以确定是否记录它。

如果您愿意,您可以根据 TAG 调整日志记录,使用 prop 文件或通过 adb。这样做的好处是,您可以为应用程序中的每个 TAG 动态打开/关闭/关闭日志记录,而无需手动注释掉日志行或实现您自己的检查。

关于android - Log.isLoggable 是否返回错误值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7948204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com