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

前面我已經寫過一篇這個標題的文章,因為當時的代碼還存在一些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風格,具體可以參照下圖:

打印json格式.png

使用方法

首先,使用它無需添加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的路由框架。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容