首页 > 学院 > 开发设计 > 正文

Logger框架应用

2019-11-06 09:44:10
字体:
来源:转载
供稿:网友

1.介绍

Logger 是一款Android平台上的简单、优雅、强大的开源日志库。

Logger提供了以下方法:

打印线程的信息

打印类的信息

打印方法的信息

优雅的打印JSON数据

优雅的打印换行符

打印简洁的信息

点击日志跳转至源码

原生Log的缺点:1.日志太长,会被直接截掉,无法打印全;2.日志信息不够直观

感受下Logger打印的日志:

JSON日志

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!");

INFO级别日志

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);

Android 如何优雅的打印日志

JSON日志

打印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);

XML日志

打印集合

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

自定义单个TAG

Logger.t("MyTag").d("Hello World!");

单个TAG

7.关闭日志打印

在LoggerDemoApplication中,设置log的级别为NONE即可关闭日志打印。

Logger.init(TAG).logLevel(LogLevel.NONE);

8.更多设置

Logger  .methodCount(3)                 // 设置打印方法栈的个数,默认是2  .hideThreadInfo()               // 隐藏线程信息,默认显示  .methodOffset(2)                // 设置调用堆栈的偏移值,默认是0  .logAdapter(new AndroidLogAdapter()); // 自定义Log适配器}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表