[Android Studio]Log调试信息的输出&信息过滤器

本文介绍了Android开发中Log的使用,包括Log.v、Log.d、Log.i、Log.w和Log.e五种级别,以及如何通过Logcat进行信息过滤和筛选,便于调试和查看应用程序的运行状态。

1.以Log.v为例:在java中写入Log.v(String tag, String msg)
tag表示的是打印信息的标签,msg表示的是需要打印的信息。
在这里插入图片描述
2. 最下方点击Logcat
在这里插入图片描述
3.Log.v输出选择Verbose,为了方便查看输出可以在后面的搜索框里输入一些关键词。
在这里插入图片描述
或者添加一个信息过滤器来筛选
(1)点击如图所示位置
在这里插入图片描述
(2)Filter Name为过滤器起的名字
在下方输入你想过滤出的Tag、Message等信息的条件。
在这里插入图片描述
(3)点击OK,过滤器就设置好了。
在这里插入图片描述

1、Log.v(String tag, String msg)
任何消息都会输出,这里的v代表verbose的意思。

2、Log.d(String tag, String msg)
仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过Logcat标签来选择。

3、Log.i(String tag, String msg)
一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息

4、Log.w(String tag, String msg)
的调试,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。

5、Log.e(String tag, String msg)
输出error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

tag表示的是打印信息的标签,msg表示的是需要打印的信息。

Android Studio 中进行日志调试是开发者常用的一种调试手段,通过日志输出可以实时查看程序运行状态、定位问题并优化代码逻辑。 在 Android 开发中,可以使用 `Log` 类来输出不同级别的日志信息,包括 `Log.v()`(Verbose)、`Log.d()`(Debug)、`Log.i()`(Info)、`Log.w()`(Warn)和 `Log.e()`(Error)等。开发者可以在 Java 或 Kotlin 代码的关键逻辑处插入日志输出语句,例如: ```java import android.util.Log; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate: Activity created"); // 输出调试信息 } } ``` 在 Kotlin 中使用方式类似: ```kotlin class MainActivity : AppCompatActivity() { private val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Log.d(TAG, "onCreate: Activity created") // 输出调试信息 } } ``` 为了更有效地查看日志信息,在 Logcat 窗口中应合理设置过滤条件。建议将过滤器设置为 **"Show only selected application"**,或者通过 **Edit Filter Configuration** 指定特定的 TAG,这样可以避免无用日志信息的干扰[^2]。 此外,如果涉及到 JNI 或 C/C++ 层的开发,也可以在 native 层使用 `<android/log.h>` 提供的 API 来输出日志信息。例如,定义宏来简化日志输出: ```c #include <android/log.h> #define LOG_TAG "hpc -- JNILOG" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #define LOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) ``` 然后在 native 函数中调用这些宏输出调试信息,如 `LOGD("Debug message from JNI");`[^3]。 在 Unity 导出 Android 工程后,如果希望在 Android Studio 中查看 Unity 运行时的 `Debug.Log` 输出,可以导入 Unity 导出的 Google 工程,并在 Android Studio 中运行和调试,通过 Logcat 查看完整的日志信息[^1]。 ### 日志调试最佳实践 - **使用有意义的 TAG**:确保每个类使用统一的 TAG,便于日志筛选。 - **控制日志级别**:根据调试需求选择合适的日志级别,避免输出过多冗余信息- **释放版本中关闭调试日志**:在正式发布前应移除或关闭 Debug 级别的日志输出,以提升性能和安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值