发表于: 2018-12-30 19:44:29

0 915


今天完成的事情

日志框架Logger

优点

1.线程信息:log在哪个线程

2.类信息:log在哪个类

3.方法信息:log在哪个方法的哪一行

4.漂亮地打印json

5.漂亮的打印XML

6.漂亮的换行分割

7.整洁的输出

8.跳转到源代码



使用

1.添加依赖

implementation 'com.orhanobut:logger:2.2.0'


2.初始化

默认配置

Logger.addLogAdapter(new AndroidLogAdapter());

如果在Application中初始化,记得修改 AndroidManifest.xml 中 application 标签属性,添加 android:name=".MyApplication" ,不然不会打印

修改默认配置

FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()

   .showThreadInfo(false)     //(可选)是否显示线程信息,默认值为true

   .methodCount(2)              // (可选)要显示的方法行数, 默认2

   .methodOffset(7)              // (可选)设置调用堆栈的函数偏移值,

                                             //0的话则从打印该Log的函数开始输出堆栈信息,默认是0

  .logStrategy(customLog)   //(可选)更改要打印的日志策略,默认LogCat

  .tag("MyTAG")                   //(可选)全局TAG,默认PRETTY_LOGGER

  .build();

Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));


3.使用

(1)简单使用

        Logger.d("DEBUG日志");

        Logger.i("INFO日志");

        Logger.e("ERROR日志");


(2)格式化输出

        Logger.d("hello %s, luck number is %d", "world", 5);


(3)打印集合        

        List list = new ArrayList();

        list.add("hello");

        list.add("world");

        Logger.d(list);

        效果:PRETIY_LOGGER:[hello,world]

        其他集合如Map、Set等同List


(4)打印JSON       

        String jsonDate = "{\"id\":859,\"channelnumber\":681,......" \"language\":\"EN\",\n" };";

        Logger.json(jsonDate);

        Log.d(TAG, jsonDate);

  (5)打印XML

      String xmlDate = "<province id=\"01\" name=\"北京\">  \n" +

                "    <city id=\"0101\" name=\"北京\">  \n" +

                "      <county id=\"010101\" name=\"北京\" weatherCode=\"101010100\"/>  \n" +

                "      <county id=\"010102\" name=\"海淀\" weatherCode=\"101010200\"/>  \n" +

               ......

                "    </city>  \n" +

                "  </province>  ";

        Logger.xml(xmlDate);

        Log.d(TAG, xmlDate);


4.控制打印开关

当我们发布软件,或者太多的log影响性能,那么就可以关闭logger打印,在application初始化的地方:

Logger.addLogAdapter(new AndroidLogAdapter() {

  @Override public boolean isLoggable(int priority, String tag) {

    return BuildConfig.DEBUG;

  }

});


5.保存Log到文件

更换适配器即可

Logger.addLogAdapter(new DiskLogAdapter());

收获

日志框架Logger



返回列表 返回列表
评论

    分享到