前面我已经写过一篇这个标题的文章,因为当时的代码还存在一些bug,并没有把这个项目放到github上我总觉得有一丝遗憾,这次修复了bug加了一些新功能还折腾了半天把它上传到jcenter上,所以打算再写一篇。
先放github地址:
https://github.com/fengzhizi715/SAF-Kotlin-log
下载安装
Gradle:
compile 'com.safframework.log:saf-log:1.0.1'
Maven:
<dependency> <groupId>com.safframework.log</groupId> <artifactId>saf-log</artifactId> <version>1.0.1</version> <type>pom</type> </dependency>
特性
支持以下几种日志级别,除此之外还能将任何对象打印成json格式
方法名 | 作用 | 备注 |
e() | Error级别打印日志 | |
w() | Warn级别打印日志 | |
i() | Info级别打印日志 | |
d() | Debug级别打印日志 | |
json() | 将日志以json格式打印出来 | 支持任意对象 |
以e、w、i、d打印的日志风格如下:
第一行显示线程名
第二行显示类中打印的行数
第三行显示打印的具体内容
╔════════════════════════════════════════════════════════════════════════════════════════ ║ Thread: main ╟──────────────────────────────────────────────────────────────────────────────────────── ║ cn.salesuite.saf.aspects.TraceAspect.traceMethod (TraceAspect.java:35) ╟──────────────────────────────────────────────────────────────────────────────────────── ║ loadUser() take [14ms] ╚════════════════════════════════════════════════════════════════════════════════════════
json方法可以将String、Map、对象打印成json风格,具体可以参照下图:
使用方法
首先,使用它无需添加kotlin的配置。它可以在任何android项目中使用。
如果不考虑显示日志的tag,可以直接使用
String s = "abcd"; L.i(s);
如果需要使用tag,可以在Activity的onCreate()中添加如下的代码,类名则对应是tag的名称
L.init(this.getClass());
当然,init()除了支持传递class对象,还支持传String对象。
除此之外,还可以设置全局的日志级别,最好在Application中进行全局的配置。
java中的使用方法:
L.setLogLevel(L.LogLevel.INFO);
kotlin中的使用方法:
L.logLevel= L.LogLevel.INFO
最后,json方法的使用
Object obj = ... L.json(obj);
总结
kotlin用来做一些小工具还是挺爽的。如果觉得不爽,欢迎吐槽_
下一篇应该会写一下用kotlin实现activity的路由框架。