log信息是开发中最最重要的部分,那么如何更好的捕获信息呢?接下来就让我们了解一下强大的log框架–Logger。
是一个简单,漂亮,强大的Android开源日志工具,代码托管在github上
项目地址 https://github.com/orhanobut/logger
能够提供:
线程信息:log在哪个线程
类信息:log在哪个类
方法信息:log在哪个方法的哪一行
漂亮地打印json
漂亮的打印XML
漂亮的换行分割
整洁的输出
跳转到源代码
默认实现是对于android.util.Log的封装
弥补了“android的logcat的message有字符长度的限制,超过将直接截断”的缺陷
支持参数添加占位符来格式化字符串,Logger.d(“hello %s”, “world”);
支持直接打印List,Set,Map,数组类型等引用类型
指定任意TAG
配置初始化选项
支持自定义CustomLogAdapter实现LogAdapter,替换android.util.Log
添加依赖:
compile'com.orhanobut:logger:1.15'
配置初始化选项(非必须选项,不配置的情况下会使用系统默认的初始化配置 )
Logger .init("mytag") //LOG TAG默认是PRETTYLOGGER .methodCount(3) // 决定打印多少行(每一行代表一个方法)默认:2.hideThreadInfo() // 隐藏线程信息 默认:显示.logLevel(LogLevel.NONE) // 是否显示Log 默认:LogLevel.FULL(全部显示).methodOffset(2) // 默认:0.logAdapter(newAndroidLogAdapter()); //可以自己构造适配器默认:AndroidLogAdapter}
效果展示:
默认效果:
Logger.init().logLevel(LogLevel.FULL).methodCount(3);
methodCount(3) ,中间方法区数量变为3,每一行代表一个方法。
2.打印不同level的Log
Logger.v(String message); // VERBOSE级别,可添加占位符
Logger.d(Object object); // DEBUG级别,打印对象
Logger.d(String message); // DEBUG级别,可添加占位符
Logger.i(String message); // INFO级别,可添加占位符
Logger.w(String message); // WARN级别,可添加占位符
Logger.e(String message); // ERROR级别,可添加占位符
Logger.e(Throwable throwable, String message); // ERROR级别,可添加占位符
Logger.wtf(String message); // ASSERT级别,可添加占位符
Logger.xml(String xml);
Logger.json(String json);
效果展示:
Logger.v("vvvvvvvv");
Logger.d("dddddddd");
1
Logger.e("eeeeeeee");
1