用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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索