您的位置:首页 > 移动开发 > Android开发

Android 如何优雅的打印日志

2016-12-27 09:40 483 查看

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 = "<resp><city>北京</city><updatetime>16:10</updatetime><wendu>23</wendu>" +
"<fengli>3级</fengli><shidu>19%</shidu><fengxiang>北风</fengxiang></resp>";

Logger.xml(XML_CONTENT);




打印集合

List<String> 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属性。

<application
android:name=".LoggerDemoApplication"
...
</application>




自定义单个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下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: