一般情况下,平时我们对于log的输出并没有太多的需求,只需要能够给输出,在logcat上能看,能够方便的开关debug就够了。想炫酷一些可以打开AndroidStudio的Settings然后搜索Logcat可以为不同级别的log输出设置不同的颜色。但是也会有一些不同的需求和扩展,所以就整理了一些大神们的一些开源的Log框架。

简单,漂亮,功能强大Android log框架。

接入和初始化相当简单

//添加依赖

implementation 'com.orhanobut:logger:2.2.0'

//代码中初始化

Logger.addLogAdapter(new AndroidLogAdapter());

使用也是非常简单,使用Logger代替原生的Log即可

Logger.d("hello");

支持格式化输出,可以直接输出Map、Set、List、Array以及json和xml

Logger.d(MAP);

Logger.d(SET);

Logger.d(LIST);

Logger.d(ARRAY);

Logger.json(JSON_CONTENT);

Logger.xml(XML_CONTENT);

输出是这样子的

64b63e51fd4c

如果要禁用/隐藏输出日志,重写AndroidLogAdapter的isLoggable方法。 true将打印日志消息,false将忽略log输出。

Logger.addLogAdapter(new AndroidLogAdapter() {

@Override public boolean isLoggable(int priority, String tag) {

return BuildConfig.DEBUG;

}

});

更多使用方式参考github

64b63e51fd4c

64b63e51fd4c

JakeWharton大神出品,一个基于原生Log类的小型可扩展的log框架。

还有使用注解形式的调试版本log框架Hugo

简单、美观、强大、可扩展的 Android 和 Java 日志库,可同时在多个通道打印日志,如 Logcat、Console 和文件。如果你愿意,甚至可以打印到远程服务器(或其他任何地方)。

同支持多种数据格式直接输出以及线程和调用栈信息。简单的使用XLog.d("Simple message")输出即可。

文档相当完善,还提供了原生Log向xLog迁移的方式。

带线程信息、调用栈信息和边框的日志

64b63e51fd4c

格式化后的网络 API 请求

64b63e51fd4c

格式化后的网络 API 响应

64b63e51fd4c

日志文件

64b63e51fd4c

更方便易用的android log,支持直接打印数据集合,如List、Set、Map、数组,还支持android系统对象Intent、Bundle打印

支持高性能日志写入文件(基于mmap)。效果图如下:

日志说明

64b63e51fd4c

个性化设置Tag

64b63e51fd4c

打印数据列表

64b63e51fd4c

打印系统对象Intent

64b63e51fd4c

Log4a 是一个基于 mmap, 高性能、高可用的 Android 日志收集框架。

Log4a 使用 mmap 文件映射内存作为缓存,可以在不牺牲性能的前提下最大化的保证日志的完整性。 日志首先会写入到 mmap 文件映射内存中,基于 mmap 的特性,即使用户强杀了进程,日志文件也不会丢失,并且会在下次初始化 Log4a 的时候回写到日志文件中。

demo中还提供了性能测试的相关数据。

64b63e51fd4c

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐