android日志打印库com.orhanobut.logger.Logger

github地址: com.orhanobut.logger.Logger


优点

  • 弥补了 logcat信息打印字符长度限制的缺陷, 信息长度过长被截断
  • 打印信息详细丰富:打印属于那个线程、那个类、哪一行,打印json、xml、map、list等很多类型,而且打印跟使用一些工具效果接近,一目了然
  • 甚至点击下跳转到源代码

开始学习

1.初始化参数
FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
  .showThreadInfo(false)  // (可选) 是否显示线程信息,默认为ture
  .methodCount(0)         // (可选) 显示的方法行数,默认为2
  .methodOffset(7)        // (可选) 
  .logStrategy(customLog) // (可选) 更改要打印的日志策略
  .tag("My custom tag")   // (可选) 每个日志的全局标记. 默认 PRETTY_LOGGER
  .build();

Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

android studio默认的logcat默认过滤关键字是PRETTY_LOGGER,可通过tag方法设置的参数名替换默认关键字

2.支持集合(仅适用于调试日志)

支持直接打印map、set、list、array数据

Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);

Logger.addLogAdapter(new AndroidLogAdapter());
List<Student> list = new ArrayList<>();
list.add(new Student("zhangsan", "9"));
list.add(new Student("lisi", "19"));
Logger.d(list);

list打印效果如下:list的类型如果是对象就是下面这样,如果类型是String,打印出来跟数组效果差不多。
在这里插入图片描述


Logger.addLogAdapter(new AndroidLogAdapter());
Map map = new HashMap();
map.put("zhangsan", "9");
map.put("lisi", "19");
Logger.d(map);

map打印效果如下:
在这里插入图片描述


3.Json和Xml支持(输出将处于调试级别)

支持按json和xml格式打印数据

Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);

Logger.addLogAdapter(new AndroidLogAdapter());
String JSON_CONTENT = "{\"name\": \"John Doe\", \"age\": 18, \"address\": {\"country\" : \"china\", \"zip-code\": \"10000\"}}";
Logger.json(JSON_CONTENT);

json打印效果如下:
在这里插入图片描述


Logger.addLogAdapter(new AndroidLogAdapter());
String XML_CONTENT = "<note>\n" +
        "<to>George</to>\n" +
        "<from>John</from>\n" +
        "<heading>Reminder</heading>\n" +
        "<body>Don't forget the meeting!</body>\n" +
        "</note>";
Logger.xml(XML_CONTENT);

xml打印效果如下
在这里插入图片描述


4.打印开关,通过返回值控制是否打印输出,可以达到正式版本控制不打印的需求
Logger.addLogAdapter(new AndroidLogAdapter() {
  @Override public boolean isLoggable(int priority, String tag) {
    return BuildConfig.DEBUG;
  }
});
5.将日志保存到文件

该用下面这个语句,就可以把打印信息保存到文件。DiskLogAdapter

Logger.addLogAdapter(new DiskLogAdapter());

保存的路径:sd卡根目录下的logger文件夹下
/storage/emulated/0/logger/logs_0.csv

Logger.addLogAdapter(new DiskLogAdapter());
String XML_CONTENT = "<note>\n" +
        "<to>George</to>\n" +
        "<from>John</from>\n" +
        "<heading>Reminder</heading>\n" +
        "<body>Don't forget the meeting!</body>\n" +
        "</note>";
Logger.xml(XML_CONTENT);

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考: https://blog.csdn.net/weixin_35691921/article/details/98873514

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值