1.介绍
Logger是一款Android平台上的简单、优雅、强大的开源日志库。
Logger GitHub地址
Logger提供了以下方法:
打印线程的信息
打印类的信息
打印方法的信息
优雅的打印JSON数据
优雅的打印换行符
打印简洁的信息
点击日志跳转至源码
感受下Logger打印的日志:
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!");
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);
打印XML
String XML_CONTENT = "北京 16:10 23 " +
"3级 19% 北风 ";
Logger.xml(XML_CONTENT);
打印集合
List list = new ArrayList<>();
list.add("Hello");
list.add("World");
Logger.d(list);
打印数组的方式和集合类似,就不再举例了。
4.打印异常
try {
int a = 6 / 0;
} catch (Exception e) {
Logger.e(e, "Exception");
}
5.格式化字符串
Logger还提供了格式化字符串的功能。
Logger.d("Hello %s%s", "World", "!");
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属性。
自定义单个TAG
Logger.t("MyTag").d("Hello World!");
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下载地址