之前在Android上面使用Logger其實不是很方便,
為什麼呢?
因為只要呼叫它, 就必須要傳入兩個參數
Log.d(TAG,"hello");
而這個TAG是用來標示從哪個類別出來的,
因此又通常會這樣寫
public final static String TAG = MainActivity.class.getName();
//...
Log.d(TAG,"hello");
天啊! 寫一個Log前置作業就這麼冗長, 而且會出現很多雜訊。
所以我找到一個第三方Logger, 非常的方便, 他不但可以清楚幫你標示出Log的位置,
而且還可以傳入各種物件印出來。
使用上非常簡單, 只要在Gradle上加入
compile 'com.orhanobut:logger:1.15'
可以這樣使用
Logger.d("hello");
可以看到以下的畫面
╔══════════════════════════════════════════════════════════════════════════════
║ Thread: main
╟──────────────────────────────────────────────────────────────────────────────
║ Activity.performCreate (Activity.java:5990)
║ MainActivity.onCreate (MainActivity.java:14)
╟──────────────────────────────────────────────────────────────────────────────
║ hello
╚══════════════════════════════════════════════════════════════════════════════
說明如下
這樣一來就清楚明白落在哪一行那一個檔案下的訊息了。
原本的Log e w v都可以使用還有wtf wwww
Logger.e("hello");
Logger.w("hello");
Logger.v("hello");
Logger.wtf("hello");
也可以丟json跟xml
Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);
也可以類似print一樣丟參數給前面的字串
Logger.d("hello %s", "world");
甚至有支援資料結構, 之前我都是透過Gson轉成字串在印出來,
有了這個功能就方便多惹
Logger.d(list);
Logger.d(map);
Logger.d(set);
Logger.d(new String[]);
你也可以改變TAG的標記
Logger.init(YOUR_TAG);
預設會是PRETTYLOGGER
當然你也可以動態的設定TAG
Logger.d("hello");
Logger.t("mytag").d("hello");
Logger.e("hello");
可以設定要顯示多少行訊息
Logger.init().methodCount(1).hideThreadInfo();
只秀訊息XD
Logger.init().methodCount(0).hideThreadInfo();
注意事項
建議filter使用prettylog
確保你的soft wrap是關閉的
參考網址
Logger