Android 专用的日志封装库

俗话说,要想程序不出 Bug, 那就一行代码也不写。

所以在程序开发或者上线后如果出现了 Bug,能够及时查看日志,对修复 Bug 非常有帮助。

目前最为流行的本地日志框架应该是 orhanobut 的 Logger 库,功能很强大而且打印出来的日志非常好看。网络日志这块应该是 square 的 okhttp-logging-interceptor 库。

于是我便对这两种框架进行了封装,作为日常日志工具。这里推荐给大家使用。

支持以下功能

  • Logcat 后台打印好看整洁的日志。
  • 应用崩溃日志和 error 级别日志自动保存至本地文件。
  • Logcat 后台打印 Http 日志,屏蔽了文件流打印乱码。

使用方法

1、引入依赖

implementation 'com.wuzy:logger:1.0.0'

2、在 Application 中初始化:

L.init(tag, isLoggable, packageName, appName);

其中 tag为日志标识, isLoggable 是否支持打印后台日志, packageName 为包名, appName 为应用名称。

应用崩溃日志和 error 级别日志会自动保存至内部存储路径 Android/data/packageName/log/ 路径下。

3、打印不同级别日志:

L.d("message1");

L.w("message2");

L.i("message3");

L.json("{ \"key\": 3, \"value\": something}");

Map<String, String> map = new HashMap<>();
map.put("key", "value");
map.put("key1", "value2");

L.d(map);

L.e(new Throwable("error"));

4、打印 OKHttp 网络日志:

HttpLogInterceptor logger = new HttpLogInterceptor();
logger.setLevel(HttpLogInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
    .addInterceptor(logger)
    .build();

如果在使用的过程中出现问题,大家可以去 GitHub(https://github.com/zywudev/Logger)提 Issues,也可以自行修改。

原文发布于微信公众号 - 空帆船w(gh_a27e6529b76c)

原文发表时间:2018-07-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏yukong的小专栏

【SpringBoot2.0系列09】SpringBoot之rabbitmq使用实现

RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也可称为 面向消息的中间件)。支持Windows、Linux/U...

2043
来自专栏岑玉海

Hadoop源码系列(一)FairScheduler申请和分配container的过程

1、如何申请资源 1.1 如何启动AM并申请资源 1.1.1 如何启动AM val yarnClient = YarnClient.createYarnClie...

4383
来自专栏比原链

Derek解读Bytom源码-启动与停止

Gitee地址:https://gitee.com/BytomBlockchain/bytom

1243
来自专栏JMCui

Netty 系列七(那些开箱即用的 ChannelHandler).

    Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用, 这减少了你在那些相当繁琐的事务上本来会花费的时间与精力。另外,这篇文章中,就不涉及...

2383
来自专栏程序员互动联盟

android apk 防止反编译技术第三篇-伪加密

经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法。前两篇我们讲了加壳技术和运行时修改字节码,如果有不明白...

4759
来自专栏lgp20151222

rabbit的简单搭建,java使用rabbitmq queue的简单例子和一些坑

由于本人的码云太多太乱了,于是决定一个一个的整合到一个springboot项目里面。

3601
来自专栏一个爱瞎折腾的程序猿

asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档

开局一张图,然后开始编,一些基本的asp.net core东西就不再赘述,本文只对Swashbuckle.AspNetCore的几个使用要点进行描述。

1621
来自专栏向治洪

Android 使用android-support-multidex解决Dex超出方法数的限制问题

随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的...

3508
来自专栏along的开发之旅

OkHttp使用完全教程

上一节我们讲述了Http请求的过程, 这一节我们就讲述下OkHttp是怎么完成Http请求的. 为了更好的理解OKHttp,强烈推荐先看一下http的整个...

3863
来自专栏编程心路

一文读懂SpringMVC中的文件上传与下载

这两天研究了一下 SpringMVC 中文件上传与下载,也遇到了一些坑,这里做个总结。

4094

扫码关注云+社区

领取腾讯云代金券