前言
- Android Studio的Logcat显示,默认显示如下:
- 其实可以通过“Logcat配色”和“自定义Logcat输出格式”这两个方面来着手,让Logcat优雅性感起来。
Logcat配色
-
默认只有Error和Assert是红色,其他都是灰色。
-
设置步骤
- Preferences -> Editor -> Colors & Fonts -> Android Logcat;
- 选择要修改的日志级别,如Warning;
-
Use inherited attributes
去掉勾选; - 勾选
Foreground
,并点击后面的颜色框进行选色。
- 我本人的配色方案。
日志级别 | 色值 |
---|---|
Verbose | BBBBBB |
Debug | 0070BB |
Info | 48BB31 |
Warn | BBBB23 |
Error | FF0006 |
Assert | FF6B68 |
自定义Logcat输出格式
-
借助开源库logger来自定义Logcat输出格式。
-
先上效果图。
-
使用方法
-
添加依赖:
compile 'com.orhanobut:logger:1.8'
。 -
Logger的初始化配置,最好写在自定义Application类的
onCreate()
中。
Logger.init("Daking") // TAG .setMethodCount(3) // 打印位置显示的方法调用栈的方法数,默认为2 .hideThreadInfo(); // 隐藏线程信息,默认为显示.
- 输出日志。
Logger.v("Logger.v"); // Verbose级别 Logger.d("Logger.d"); // Debug级别 Logger.i("Logger.i"); // Info级别 Logger.w("Logger.w"); // Warn级别 Logger.e("Logger.e"); // Error级别 Logger.wtf("Logger.wtf"); // Error级别 Logger.json("{\"name\":\"value\"}"); // 打印json,Debug级别
-
网友评论
1. 不直接调用Log方法,而是创建一个工具类(如LogUtil)来间接调用。
2. 而这个工具类需要有一个标志位(如boolean LOG)来控制是否进行日志输出。
public class LogUtil {
static final boolean LOG = false;
public static void i(String tag, String string) {
if (LOG) android.util.Log.i(tag, string);
}
}
3. 而Android Studio环境下在编译处理资源的时候,会生成“App包名.BuildConfig.java”,其中的public static final boolean DEBUG会在debug环境下被设为true,在release下被设为false。于是可以将此值赋给工具类LogUtil的标志位Log,自动根据当前环境控制是否输出日志。
public class LogUtil {
static final boolean LOG = BuildConfig.DEBUG;
...
}