Android Log框架推荐

作者: MrTrying | 来源:发表于2019-01-29 17:14 被阅读23次

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

    0. logger

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

    接入和初始化相当简单

    //添加依赖
    implementation 'com.orhanobut:logger:2.2.0'
    
    //代码中初始化
    Logger.addLogAdapter(new AndroidLogAdapter());
    

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

    Logger.d("hello");
    

    支持格式化输出,可以直接输出MapSetListArray以及jsonxml

    Logger.d(MAP);
    Logger.d(SET);
    Logger.d(LIST);
    Logger.d(ARRAY);
    
    Logger.json(JSON_CONTENT);
    Logger.xml(XML_CONTENT);
    

    输出是这样子的

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

    Logger.addLogAdapter(new AndroidLogAdapter() {
      @Override public boolean isLoggable(int priority, String tag) {
        return BuildConfig.DEBUG;
      }
    });
    

    更多使用方式参考github

    1. timber

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

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

    2. xLog

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

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

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

    带线程信息、调用栈信息和边框的日志
    格式化后的网络 API 请求
    格式化后的网络 API 响应
    日志文件

    3. LogUtils

    更方便易用的android log,支持直接打印数据集合,如List、Set、Map、数组,还支持android系统对象Intent、Bundle打印
    支持高性能日志写入文件(基于mmap)。效果图如下:

    日志说明
    个性化设置Tag
    打印数据列表
    打印系统对象Intent

    4. Log4a

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

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

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

    相关文章

      网友评论

        本文标题:Android Log框架推荐

        本文链接:https://www.haomeiwen.com/subject/xhyxsqtx.html