Android 如何优雅的打印日志

1.介绍

Logger是一款Android平台上的简单、优雅、强大的开源日志库。

Logger GitHub地址

Logger提供了以下方法:

  • 打印线程的信息

  • 打印类的信息

  • 打印方法的信息

  • 优雅的打印JSON数据

  • 优雅的打印换行符

  • 打印简洁的信息

  • 点击日志跳转至源码

感受下Logger打印的日志:

Android 如何优雅的打印日志_第1张图片
JSON日志

2.简单使用

在app根目录的buil.gradle文件中加入依赖

compile 'com.orhanobut:logger:1.15'

和普通的Log一样,Logger支持五种级别的日志打印方法:

Logger.v();
Logger.d();
Logger.i();
Logger.w();
Logger.e();

还有一种不常用的方法:

// what a terrible failure
// 可怕的失败,报告一个永远不可能发生的情况
Logger.wtf("Hello World!");

打印一条info级别的日志,默认的TAG是PRETTYLOGGER,看下效果:

Logger.i("Hello World!");
Android 如何优雅的打印日志_第2张图片
INFO级别日志

3.打印更多类型的数据

Logger还支持打印JSON、XML、集合、数组。

打印JSON

String JSON_CONTENT = "{\"weatherinfo\":{\"city\":\"北京\",\"cityid\":\"101010100\"," +
                "\"temp\":\"-2\",\"WD\":\"西北风\",\"WS\":\"3级\",\"SD\":\"241%\",\"WSE\":\"3\"," +
                "\"time\":\"10:61\",\"isRadar\":\"1\",\"Radar\":\"JC_RADAR_AZ9010_JB\"}}";
                
Logger.json(JSON_CONTENT);
Android 如何优雅的打印日志_第3张图片
JSON日志

打印XML

String XML_CONTENT = "北京16:1023" +
                "3级19%北风";
                
Logger.xml(XML_CONTENT);
Android 如何优雅的打印日志_第4张图片
XML日志

打印集合

List list = new ArrayList<>();
list.add("Hello");
list.add("World");

Logger.d(list);
Android 如何优雅的打印日志_第5张图片
集合日志

打印数组的方式和集合类似,就不再举例了。

4.打印异常

try {
    int a = 6 / 0;
} catch (Exception e) {
    Logger.e(e, "Exception");
}
Android 如何优雅的打印日志_第6张图片
异常日志

5.格式化字符串

Logger还提供了格式化字符串的功能。

Logger.d("Hello %s%s", "World", "!");
Android 如何优雅的打印日志_第7张图片
格式化字符串

6.自定义打印TAG

自定义全局TAG

新建一个Application类LoggerDemoApplication,在onCreate方法中调用Logger.init(TAG)。

public class LoggerDemoApplication extends Application {

    private String TAG = "LoggerDemo";

    @Override
    public void onCreate() {
        super.onCreate();
        Logger.init(TAG);
    }
}

在AndroidManifest中加入application的name属性。


Android 如何优雅的打印日志_第8张图片
全局TAG

自定义单个TAG

Logger.t("MyTag").d("Hello World!");
Android 如何优雅的打印日志_第9张图片
单个TAG

7.关闭日志打印

在LoggerDemoApplication中,设置log的级别为NONE即可关闭日志打印。

Logger.init(TAG).logLevel(LogLevel.NONE);

8.更多设置

Logger
  .methodCount(3)                 // 设置打印方法栈的个数,默认是2
  .hideThreadInfo()               // 隐藏线程信息,默认显示
  .methodOffset(2)                // 设置调用堆栈的偏移值,默认是0
  .logAdapter(new AndroidLogAdapter()); // 自定义Log适配器
}

9.写在最后

Demo下载地址

你可能感兴趣的:(Android 如何优雅的打印日志)