Android日志记录工具

背景

由于前段时间项目增加了些新功能,服务端和APP都可能出这样或那样的问题,有些问题是由于特殊的数据产生的,让测试的同事复现一下却复现不出来,我看自己代码感觉也不是我的问题,希望写接口的同事配合下,对方一口咬定不是他的问题,而且振振有词:“看,刚才测试的就没复现出来!如果是我的问题刚才怎么没出来?”。自信的样子让我却有点不确定了。为了避免以后还这样查(si)找(bi)问(shuai)题(guo),我决定把我请求的接口,传入的参数和对方返回的数据全记录在本地,只要测试的同事记住出现问题的时间,直接找出当时的日志,用数据说话,事实摆在眼前,谁的问题一目了然!

项目介绍

Android日志工具,支持Logcat输出和文件记录(可自定义大小,默认0.1M),两种显示方式都可以配置是否需要显示。

项目地址:https://github.com/wangjintao/TLog

功能介绍

  • 控制台日志显示,支持配置TAG过滤
  • 保存内容到文件中

使用介绍

  1. 在根build.gradle中添加:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    
  2. 项目的build.gradle中添加:

    dependencies {
        compile 'com.github.wangjintao:TLog:v1.0.1'
    }
    
    
  3. 如果你的项目中没有更改Application,在AndroidManifest.xml中配置如下:

    <manifest>
        <application
            android:name="com.tao.admin.loglib.TLogApplication"
            ...
        </application>
    </manifest>
    

    如果你在项目中有自己的Application文件,如:

    <manifest>
       
           <application
               android:name=".MyApplication"
               ...
           </application>
       
    </manifest>
    

    没关系,你可以让自己的Application继承TLogApplication:

    public class MyApplication extends TLogApplication {
        @Override
        public void onCreate() {
            super.onCreate();
            ...
        }
    }
    

    或者你已经继承了其他Application,你可以在onCreate()中调用TLogApplication.initialize(this);

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            TLogApplication.initialize(this);
            ...
        }
    }
    
  4. 配置是否需要在logcat或文件中记录日志:

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            TLogApplication.initialize(this);
            IConfig.getInstance().isShowLog(true)//是否在logcat中打印log,默认不打印
                    .isWriteLog(true)//是否在文件中记录,默认不记录
                    .fileSize(100000)//日志文件的大小,默认0.1M,以bytes为单位
                    .tag("myTag");//logcat 日志过滤tag
        }
    }
    
  5. 打印/记录日志

    • 带标题
      Logger.i(title, log);
      Logger.w(title, log);
      Logger.e(title, log);
      

《Android日志记录工具》 带标题

* 无标题<br>
    ```
    Logger.i(log);
    Logger.w(log);
    Logger.e(log);
    ```

《Android日志记录工具》 无标题

  1. 查看本地日志
    String log = FileUtils.readLogText();
    mTextView.setText(log);
    

《Android日志记录工具》 本地日志

其它

这是我第一次分享代码,原来一直是拿来主义。这个小项目比较简单,但是也会有各种各样的问题,希望大家发现问题后及时指出,大家一起交流学习。具体代码我没有贴出来,想看的同志们自己去下载看吧,前边有地址。

    原文作者:程序猿老王
    原文地址: https://www.jianshu.com/p/cbe5f88244aa
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞