Android 中使用日志功能
一、Android 日志工具类:Log
Android SDK 提供了专门的日志工具类 android.util.Log,它提供了 5 个级别的日志方法,按优先级从低到高排列:
| 方法 | 级别 | 说明 |
|---|---|---|
Log.v() | Verbose | 最低级别,用于输出最琐碎的日志信息 |
Log.d() | Debug | 调试信息,开发时最常用 |
Log.i() | Info | 一般提示性信息 |
Log.w() | Warn | 警告信息,可能存在潜在风险 |
Log.e() | Error | 错误信息,比如进入 catch 异常 |
二、基本用法
在 MainActivity 的 onCreate() 方法中添加日志:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 输出 Info 级别的日志
Log.i("foxdevelop", "xxxxxx");
}Code language: JavaScript (javascript)
方法参数说明:
| 参数 | 说明 |
|---|---|
| 第一个参数(tag) | 日志标签,通常用简短字符串标识来源,方便过滤 |
| 第二个参数(msg) | 日志内容,即你想输出的信息 |
运行项目后,打开 Logcat 窗口即可看到输出的日志。

三、Logcat 窗口使用技巧
| 功能 | 操作 |
|---|---|
| 查看日志 | 运行应用后,底部 Logcat 面板自动显示 |
| 关键字搜索 | 在 Logcat 搜索框输入关键字(如 foxdevelop)过滤 |
| 按级别过滤 | 点击下拉菜单选择 Show only selected application / No Filters / Edit Filter Configuration |
| 按 tag 过滤 | 在搜索框输入 tag:foxdevelop |
四、为什么不建议用 System.out.println()
| 对比项 | System.out.println | Log |
|---|---|---|
| 可控性 | 不可控 | 可通过级别和过滤器控制 |
| 时间信息 | 无时间戳 | 每条日志带精确时间 |
| 过滤器 | 无法按 tag 过滤 | 支持 tag、级别、进程等多维过滤 |
| 日志级别 | 无级别区分 | 5 个级别,方便定位问题 |
| 生产环境 | 无法关闭 | 可配置关闭或仅输出特定级别 |
// 不推荐
System.out.println("xxxxxxx");
// 推荐
Log.i(TAG, "Foxdevelop");Code language: JavaScript (javascript)

五、Android Studio 日志快捷键
AS 提供了强大的 Live Template 快捷键,输入后按 Tab 自动补全:
| 快捷键(输入后按 Tab) | 生成代码 | 说明 |
|---|---|---|
logd | Log.d(TAG, "onCreate: "); | 生成 Debug 日志 |
logi | Log.i(TAG, "onCreate: "); | 生成 Info 日志 |
logw | Log.w(TAG, "onCreate: "); | 生成 Warn 日志 |
loge | Log.e(TAG, "onCreate: "); | 生成 Error 日志 |
logv | Log.v(TAG, "onCreate: "); | 生成 Verbose 日志 |
logt | private static final String TAG = "类名"; | 在类体中使用,自动生成当前类名作为 TAG |
六、完整示例
public class MainActivity extends AppCompatActivity {
// 在类体中使用 logt + Tab 自动生成
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 使用 TAG 常量输出日志
Log.i(TAG, "foxdevelop");
Log.e(TAG, "这里发生异常了");
// 不推荐
System.out.println("xxxxxxx");
}
}Code language: PHP (php)
运行后 Logcat 输出效果:
I/MainActivity: foxdevelop
E/MainActivity: 这里发生异常了Code language: HTTP (http)
Previous: build.gradle
Next: 活动