欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android日志记录工具

程序员文章站 2022-03-28 11:10:17
...

背景

由于前段时间项目增加了些新功能,服务端和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);
            ...
        }
    }
    1. 配置是否需要在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
          }
      }
    2. 打印/记录日志

      • 带标题
        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日志记录工具

其它

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