如何更優(yōu)雅的打Log
精彩回顧
Viewpager開源庫(kù)整理
時(shí)間選擇器開源庫(kù)整理
Menu開源庫(kù)整理
動(dòng)態(tài)權(quán)限庫(kù)
日常開發(fā)中打log日志是我們必不可少的,那么怎么寫能讓你的Log更美觀更好看更顯眼呢粱快,今天分享一下我封裝Log的方式
方式一
Log.i("lovesosoi","Logi");
Log.d("lovesosoi","Logd");
Log.v("lovesosoi","Logv");
Log.e("lovesosoi","Loge");
方式二
public static String TAG="Lovesosoi";
Log.i(TAG,"Logi");
Log.d(TAG,"Logd");
Log.v(TAG,"Logv");
Log.e(TAG,"Loge");
方式三
將Log進(jìn)行簡(jiǎn)單的封裝,其實(shí)就是做一個(gè)開關(guān)粱挡,也沒有加太多的功能
public class LogUtils {
private static boolean isDebug = true;
private static String TAG = "tag";
public boolean isDebug() {
return isDebug;
}
public static void setDebug(boolean debug) {
isDebug = debug;
}
public static void setTag(String debug) {
TAG = debug;
}
public static void e(String msg) {
if (isDebug) {
Log.e(TAG,msg);
}
}
public static void e(String tag,String msg) {
if (isDebug) {
Log.e(tag,msg);
}
}
}
class Test{
public static void main(){
LogUtils.setDebug(true);
LogUtils.setTag("Lovesosoi");
LogUtils.e("heheh");
}
}
為了追求更加便捷馍驯,好看實(shí)用的Log啊鸭,我在github 上進(jìn)行了搜索查找氏义,找到了以下的Log開源庫(kù)杜顺。
電腦端顯示Log
名字 | 介紹 | star | 圖片 |
---|---|---|---|
logger | 簡(jiǎn)介好看使用的log庫(kù) | 11540星 | |
xLog | 簡(jiǎn)單垢粮、美觀、強(qiáng)大恍涂、可擴(kuò)展的 Android 和 Java 日志庫(kù) | 1859星 | |
KLog | Android LogCat 工具類宝惰,支持行號(hào)、所在函數(shù)再沧、點(diǎn)擊自動(dòng)跳轉(zhuǎn)、Json格式自定解析打印等功能尊残。 | 1725星 | |
FLogger | 基于雙緩沖隊(duì)列炒瘸、多刷盤機(jī)制的超輕量級(jí) java 日志 | 499星 | |
jlog | jlog是一款針對(duì)Android開發(fā)者的日志工具 | 478星 | |
Android-PLog | A Pure, Pretty and Powerful logging library for android | 165星 | |
LogCollector | 一個(gè)收集 app 輸出日志的工具 | 159星 |
手機(jī)端顯示Log
名字 | 介紹 | star | 圖片 |
---|---|---|---|
Lynx | 可在手機(jī)上查看 logcat | 682星 | |
LogcatViewer | 可在手機(jī)上查看 logcat | 226星 | |
Console | 可在手機(jī)上查看 logcat | 92星 | |
DebugOverlay-Android | App 端,查看 Logcat 信息 | 80星 |
看了大神寫的庫(kù)寝衫,我心里就有一個(gè)疑問顷扩,我和大神的區(qū)別在哪里,我總結(jié)一下主要是兩點(diǎn)慰毅,一是樣式隘截,大神的樣式更好看,二是功能更全,我們?nèi)タ匆幌聅tar 最高的代碼
解析Logger
為什么Logger能顯示Log的代碼行數(shù)婶芭,他是怎么做到的呢
調(diào)用這個(gè)方法就能獲取到當(dāng)前方法所在方法棧信息东臀,我們?cè)賮?lái)看看StackTraceElement這個(gè)類
我們做一個(gè)小測(cè)試~
這樣類名,方法名犀农,行數(shù)就都獲取到了惰赋。
第二個(gè)問題來(lái)了,怎么做到這么整潔的呢
源碼是這么做的呵哨,拼出來(lái)的!
其他的就是格式問題了赁濒,自己動(dòng)手封裝一個(gè)屬于自己的Log庫(kù)試試吧~~
總結(jié)
所有開源庫(kù)都是在 Android-ui-2019基礎(chǔ)上修改的,我會(huì)把我遇到所有好的開源庫(kù)分享出來(lái)孟害,大家一起學(xué)習(xí)拒炎,有問題可以問我哦,我會(huì)盡我所能給大家解答的挨务。