用kotlin打印出漂亮的android日志(二)

前面我已经写过一篇这个标题的文章,由于当时的代码还存在一些bug,并无把这个项目放到github上我总以为有一丝遗憾,此次修复了bug加了一些新功能还折腾了半天把它上传到jcenter上,因此打算再写一篇。java

先放github地址:
https://github.com/fengzhizi715/SAF-Kotlin-logandroid

下载安装

Gradle:git

compile 'com.safframework.log:saf-log:1.0.1'

Maven:github

<dependency>
  <groupId>com.safframework.log</groupId>
  <artifactId>saf-log</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

特性

支持如下几种日志级别,除此以外还能将任何对象打印成json格式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风格,具体能够参照下图:svg

打印json格式.png

使用方法

首先,使用它无需添加kotlin的配置。它能够在任何android项目中使用。工具

若是不考虑显示日志的tag,能够直接使用ui

String s = "abcd";
L.i(s);

若是须要使用tag,能够在Activity的onCreate()中添加以下的代码,类名则对应是tag的名称this

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的路由框架。

本文同步分享在 博客“fengzhizi715”(JianShu)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索