背景
由于前段时间项目增加了些新功能,服务端和APP都可能出这样或那样的问题,有些问题是由于特殊的数据产生的,让测试的同事复现一下却复现不出来,我看自己代码感觉也不是我的问题,希望写接口的同事配合下,对方一口咬定不是他的问题,而且振振有词:“看,刚才测试的就没复现出来!如果是我的问题刚才怎么没出来?”。自信的样子让我却有点不确定了。为了避免以后还这样查(si)找(bi)问(shuai)题(guo),我决定把我请求的接口,传入的参数和对方返回的数据全记录在本地,只要测试的同事记住出现问题的时间,直接找出当时的日志,用数据说话,事实摆在眼前,谁的问题一目了然!
项目介绍
Android日志工具,支持Logcat输出和文件记录(可自定义大小,默认0.1M),两种显示方式都可以配置是否需要显示。
项目地址:https://github.com/wangjintao/TLog
功能介绍
- 控制台日志显示,支持配置TAG过滤
- 保存内容到文件中
使用介绍
-
在根build.gradle中添加:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
-
项目的build.gradle中添加:
dependencies { compile 'com.github.wangjintao:TLog:v1.0.1' }
-
如果你的项目中没有更改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); ... } }
-
配置是否需要在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 } }
-
打印/记录日志
- 带标题
Logger.i(title, log); Logger.w(title, log); Logger.e(title, log);
- 带标题
* 无标题<br>
```
Logger.i(log);
Logger.w(log);
Logger.e(log);
```
- 查看本地日志
String log = FileUtils.readLogText(); mTextView.setText(log);
其它
这是我第一次分享代码,原来一直是拿来主义。这个小项目比较简单,但是也会有各种各样的问题,希望大家发现问题后及时指出,大家一起交流学习。具体代码我没有贴出来,想看的同志们自己去下载看吧,前边有地址。