超好用的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里面添加如下代码
2
3
1
2
3
或者通过choose library dependency搜索添加
使用
使用方法非常简单,甚至比android.util.Log还要简单,只需要通过调用com.orhanobut.logger.Logger该类的方法即可,该类也提供了v,d,i,w,e等方法。
2
3
4
5
1
2
3
4
5
打印的效果图
是不是用起来很爽,tag都不用设置,可以看到tag默认为PRETTYLOGGER。当然你也可以自己定义tag
1
效果如下
当然,这样它会默认在PRETTYLOGGER后面拼接你的tag打印。不要慌,PRETTYLOGGER也是可以自定义的。只需要加上如下代码:
1
效果如下
ok,搞定。
Logger还提供了e(Throwable throwable, String message, Object… args)方法,将异常信息打印出来
2
3
4
5
6
1
2
3
4
5
6
效果如下
还有将json和xml格式化打印的效果
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
效果图
我们在开发过程中,会打印很多日志信息,这些信息可能会包含一些敏感信息,而我们在把应用打包发布的时候肯定不希望这些日志继续打印(可能会被同行看到),这个时候可以封装一个日志打印的工具类。
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
先看一下效果图:
线程名、那个类的那个方法、哪一行都打印出来了,还可以点击直接跳到打印的位置,有没有很高大上的感觉?
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
相关文章推荐
- 超好用的Android日志打印框架--Logger
- 超好用的Android日志打印框架--Logger
- Android Logger 日志框架源码分析
- Android 打印日志之com.orhanobut.logger的开源库
- android orhanobut logger打印那个类第几行调用log输出,在输出日志上上点击跳转到源代码
- 开发工具——Android最漂亮的Logger日志打印工具
- logger android日志框架使用
- android日志框架Logger的详细使用(目前最新版2.1.1)
- Android中日志信息的打印方式
- android在发布版本时删除打印的控制台日志
- Android心得2.5--对应用进行单元测试、打印错误信息和日志输出
- 写了个android简洁的日志打印工具类。
- Android中日志信息的打印方式
- Android真机调试不打印日志解决
- android手机调试时不能打印Logcat日志信息
- Android真机调试不打印日志解决
- Android Log 日志调试(打印日志)
- 启动一个服务监控android系统的打印日志--实现卸载软件提示
- Android 各层中日志打印功能的应用
- log日志框架和LocationAwareLogger问题