您的位置:首页 > 移动开发 > Android开发

超好用的Android日志打印框架--Logger

2017-03-25 01:02 501 查看
Android提供的打印日志的方法是通过android.util.Log类来打印我们需要的日志信息,当打印的日志很多的时候,我们需要查看是哪一行就比较困难,除非你打上了标记,但是这样会比较麻烦。这个时候我们可以使用Logger来替代android.util.Log的日志打印。

先看一下效果图: 



线程名、那个类的那个方法、哪一行都打印出来了,还可以点击直接跳到打印的位置,有没有很高大上的感觉? 

github地址: https://github.com/orhanobut/logger

配置 

直接在app的build.gradle里面添加如下代码
dependencies {
compile 'com.orhanobut:logger:1.15'
}
1
2
3
1
2
3

或者通过choose library dependency搜索添加 



使用 

使用方法非常简单,甚至比android.util.Log还要简单,只需要通过调用com.orhanobut.logger.Logger该类的方法即可,该类也提供了v,d,i,w,e等方法。
Logger.v("hello world");
Logger.d("hello world");
Logger.i("hello world");
Logger.w("hello world");
Logger.e("hello world");
1
2
3
4
5
1
2
3
4
5

打印的效果图 



是不是用起来很爽,tag都不用设置,可以看到tag默认为PRETTYLOGGER。当然你也可以自己定义tag
Logger.t("MY_TAG").v("hello world"); //设置tag为MY_TAG,并打印
1
1

效果如下 



当然,这样它会默认在PRETTYLOGGER后面拼接你的tag打印。不要慌,PRETTYLOGGER也是可以自定义的。只需要加上如下代码:
Logger.init("locationtest");
1
1

效果如下 


 

ok,搞定。

Logger还提供了e(Throwable throwable, String message, Object… args)方法,将异常信息打印出来
try {
String s = null;
s.toString();
}catch (NullPointerException e){
Logger.e(e,"test----");
}
1
2
3
4
5
6
1
2
3
4
5
6

效果如下 



还有将json和xml格式化打印的效果
String json = "{\n" +
"\"number\":123,\n" +
"\"object\":{\n" +
"\"a\": \"b\",\"c\": \"d\"}," +
"\"string\":\"Hello World\"\n" +
"}";
Logger.json(json);

String xml = "<map><key>message</key></map>";
Logger.xml(xml);
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10

效果图 




Log打印封装

我们在开发过程中,会打印很多日志信息,这些信息可能会包含一些敏感信息,而我们在把应用打包发布的时候肯定不希望这些日志继续打印(可能会被同行看到),这个时候可以封装一个日志打印的工具类。
package com.chengliang0315.locationtest.util;

import com.chengliang0315.locationtest.BuildConfig;
import com.orhanobut.logger.Logger;

/**
* 日志打印工具类
*
* @author chengliang0315
* @see <a>http://blog.csdn.net/chengliang0315</a>
*/
public class LogUtils {
/**
* 是否开启debug
* 注意:使用Eclipse打包的时候记得取消Build Automatically,否则一直是true
*/
public static boolean isDebug= BuildConfig.DEBUG;

/**
* 错误
*/
public static void e(String tag,String msg){
if(isDebug){
Logger.t(tag).e(msg+"");
}
}
/**
* 调试
*/
public static void d(String tag,String msg){
if(isDebug){
Logger.t(tag).d( msg+"");
}
}
/**
* 信息
*/
public static void i(String tag,String msg){
if(isDebug){
Logger.t(tag).i( msg+"");
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

你只需要在调用LogUtils来打印日志即可,这样就方便管理了。当然在使用Eclipse打包的时候记得取消Build Automatically,否则一直是true 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: