Android日志记录工具

作者: 程序猿老王 | 来源:发表于2017-09-05 11:10 被阅读459次

    背景

    由于前段时间项目增加了些新功能,服务端和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);
        
    带标题
    * 无标题<br>
        ```
        Logger.i(log);
        Logger.w(log);
        Logger.e(log);
        ```
    
    无标题
    1. 查看本地日志
      String log = FileUtils.readLogText();
      mTextView.setText(log);
      
    本地日志

    其它

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

    相关文章

      网友评论

        本文标题:Android日志记录工具

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