定製自己的日誌工具

2022-09-17 09:42:10 字數 1320 閱讀 2288

為什麼需要定製自己的日誌工具呢?難得安卓自帶的log不好嗎?

雖然 android 中自帶的日誌工具功

能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。

打個比方,你正在編寫乙個比較龐大的專案,期間為了方便除錯,在**的很多地方都

列印了大量的日誌。最近專案已經基本完成了,但是卻有乙個非常讓人頭疼的問題,之前用

於除錯的那些日誌,在專案正式上線之後仍然會照常列印,這樣不僅會降低程式的執行效率,

還有可能將一些機密性的資料洩露出去。

那該怎麼辦呢,難道要一行一行把所有列印日誌的**都刪掉?顯然這不是什麼好點

子,不僅費時費力,而且以後你繼續維護這個專案的時候可能還會需要這些日誌。因此,最

理想的情況是能夠自由地控制日誌的列印,當程式處於開發階段就讓日誌列印出來,當程式

上線了之後就把日誌遮蔽掉。

//

只需要控制level的大小就可以控制輸出的等級

public

class

logutil

}public

static

void

d(string tag,string msg)

}public

static

void

i(string tag,string msg)

}public

static

void

w(string tag,string msg)

}public

static

void

e(string tag,string msg)

}}

這樣就把乙個自定義的日誌工具建立好了,之後在專案裡我們可以像使用普通的日誌工

具一樣使用 logutil,比如列印一行 debug 級別的日誌就可以這樣寫:

logutil.d("tag", "debug log");

列印一行 warn 級別的日誌就可以這樣寫:

logutil.w("tag", "warn log");

然後我們只需要修改 level 常量的值,就可以自由地控制日誌的列印行為了。比如讓

level 等於 verbose 就可以把所有的日誌都列印出來,讓 level 等於 warn 就可以只

列印警告以上級別的日誌,讓 level 等於 nothing 就可以把所有日誌都遮蔽掉。

使用了這種方法之後,剛才所說的那個問題就不復存在了,你只需要在開發階段將

level 指定成 verbose,當專案正式上線的時候將 level 指定成 nothing 就可以了。

定製自己的日誌工具

雖然 android 中自帶的日誌工具功能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。打個比方,你正在編寫乙個比較龐大的專案,期間為了方便除錯,在 的很多地方都列印了大量的日誌。最近專案已經基本完成了,但是卻有乙個非常讓人頭疼的問題,之前用於除錯的那些日誌,在專案正式上...

14 3 定製自己的日誌工具

早在1.4 節中我們就已經學過了 android 日誌工具的用法,並且日誌工具也確實貫穿了我們整本書的學習。雖然 android 中自帶的日誌工具功能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。打個比方,你正在編寫 個比較龐大的專案,期間為了方便除錯,在 的很多地方都列...

定製自己的工具類

定製自己的列印資訊類,方便除錯,如下 package dyk.viewpagerdemo.log import android.util.log created by administrator on 2017 04 28.日誌工具類 在軟體上線後,讓level 等於 nothing就要行了 除錯的...