Android中的Log日志系統(tǒng)

1.Log簡(jiǎn)介與用途

Log是Android提供的用來(lái)輸出日志的工具類(lèi)篮灼。當(dāng)使用Log.V()、Log.D()徘禁、Log.e()來(lái)打印的日志的時(shí)候诅诱,可以通過(guò)logcat來(lái)查看輸出的日志。

另外有種情況是我們經(jīng)常能夠遇到的送朱,當(dāng)應(yīng)用發(fā)生異常的時(shí)候娘荡,logcat監(jiān)視器就會(huì)顯示相關(guān)的堆棧信息,讓我們得以知道是哪里發(fā)生了錯(cuò)誤驶沼。

同時(shí)我們也可以利用AndroidStudio 連接上設(shè)備炮沐,在logcat中查看應(yīng)用或者系統(tǒng)輸出的日志

2.logcat 消息格式

每個(gè)Android的日志消息都有與其關(guān)聯(lián)的標(biāo)志和不同的優(yōu)先級(jí),用來(lái)表示不同的信息回怜。調(diào)用格式如下:

Log.d(tag, message);

log的不同方法代表著不同的優(yōu)先級(jí)大年,方法參數(shù)tag用來(lái)識(shí)別日志輸出的地方,message用來(lái)表示輸出信息

優(yōu)先級(jí)含義:

  • V — 詳細(xì)玉雾,顯示所有日志消息(最低優(yōu)先級(jí))
  • D — 調(diào)試翔试,顯示僅在開(kāi)發(fā)期間有用的調(diào)試日志消息
  • I — 信息,顯示常規(guī)使用的預(yù)計(jì)日志消息
  • W — 警告复旬,顯示尚不是錯(cuò)誤的潛在問(wèn)題
  • E — 錯(cuò)誤垦缅,顯示已經(jīng)引發(fā)錯(cuò)誤的問(wèn)題
  • A — 斷言,顯示開(kāi)發(fā)者預(yù)計(jì)絕不會(huì)發(fā)生的問(wèn)題

日志消息的格式:

date time PID-TID/package priority/tag: message

例如:

12-10 13:02:50.071 1901-4229/com.google.android.gms V/AuthZen: Handling delegate intent.

3. Log的Verbose驹碍、Debug壁涎、Error等方法在Debud和Relase版本中都會(huì)打印嗎

developer Android官網(wǎng)解釋對(duì)log有如下說(shuō)明:

Verbose should never be compiled into an application except during development. Debug logs are compiled in but stripped at runtime. Error, warning and info logs are always kept.

大體意思為:

  • Verbose方法:除開(kāi)發(fā)期間外凡恍,其他任何時(shí)候都絕不應(yīng)該將Log.v()方法編譯到您的應(yīng)用中。
  • Debug方法:調(diào)試日志雖然會(huì)編譯粹庞,但會(huì)在運(yùn)行時(shí)去掉咳焚。
  • 對(duì)于error,warning和info方法則會(huì)始終保留。

但是經(jīng)過(guò)測(cè)試庞溜,真實(shí)情況并不是這樣的革半,在構(gòu)建的Relase版本中,debug方法并沒(méi)有在運(yùn)行時(shí)被"跳過(guò)"(stripped),它仍然會(huì)被打印出來(lái)

結(jié)論如下:
Log的verbose流码、debug又官、info、warnning等方法不管是在debug還是relase版本中都會(huì)被打印輸出漫试。

every time you log in production, a puppy dies六敬。 - by JakeWharton

故我們不要把log打印在relase中。

4.Log中的isLoggable()方法

該API用來(lái)檢查是否對(duì)于特定的tag和level下驾荣,log日志是否會(huì)輸出外构。

可以通過(guò)adb命令通過(guò)setprop 對(duì)特定的標(biāo)簽設(shè)置優(yōu)先級(jí),只有大于等于設(shè)置的優(yōu)先級(jí)的tag標(biāo)簽才會(huì)被輸出打印播掷。

adb shell  setprop log.tag.YOUR_LOG_TAG LEVEL

備注:該設(shè)置在手機(jī)重啟后將無(wú)效审编,可以通過(guò)修改data/local.prop 該文件,達(dá)到永久設(shè)置

5.好用的Timber

Timber輕量歧匈,可以只在開(kāi)發(fā)階段打印日志, 支持格式化輸出msg

1.在Application中onCreate中添加:

if (BuildConfig.DEBUG) {
  Timber.plant(new Timber.DebugTree());
}

2.接著在任何地方進(jìn)行打印log

Timber.d("Downloading URL: %s", url);

鏈接地址:Timber

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末垒酬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子件炉,更是在濱河造成了極大的恐慌勘究,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斟冕,死亡現(xiàn)場(chǎng)離奇詭異口糕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宫静,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)走净,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人孤里,你說(shuō)我怎么就攤上這事伏伯。” “怎么了捌袜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵说搅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我虏等,道長(zhǎng)弄唧,這世上最難降的妖魔是什么适肠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮候引,結(jié)果婚禮上侯养,老公的妹妹穿的比我還像新娘。我一直安慰自己澄干,他們只是感情好逛揩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著麸俘,像睡著了一般辩稽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上从媚,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天逞泄,我揣著相機(jī)與錄音,去河邊找鬼拜效。 笑死喷众,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的紧憾。 我是一名探鬼主播侮腹,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼稻励!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起愈涩,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤望抽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后履婉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體煤篙,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年毁腿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辑奈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡已烤,死狀恐怖鸠窗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胯究,我是刑警寧澤稍计,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站裕循,受9級(jí)特大地震影響臣嚣,放射性物質(zhì)發(fā)生泄漏净刮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一硅则、第九天 我趴在偏房一處隱蔽的房頂上張望淹父。 院中可真熱鬧,春花似錦怎虫、人聲如沸暑认。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)穷吮。三九已至,卻和暖如春饥努,著一層夾襖步出監(jiān)牢的瞬間捡鱼,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工酷愧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驾诈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓溶浴,卻偏偏與公主長(zhǎng)得像乍迄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子士败,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,111評(píng)論 25 707
  • 本文會(huì)不定期更新闯两,推薦watch下項(xiàng)目。如果喜歡請(qǐng)star谅将,如果覺(jué)得有紕漏請(qǐng)?zhí)峤籭ssue漾狼,如果你有更好的點(diǎn)子可以...
    天之界線2010閱讀 7,170評(píng)論 11 29
  • 有時(shí)候我們要看一個(gè)Java層的奔潰,我僅僅需要下面命令 adb logcat | grep -i "system....
    龍?jiān)诎⒗?/span>閱讀 5,523評(píng)論 2 2
  • 在應(yīng)用程序中添加日志記錄總的來(lái)說(shuō)基于三個(gè)目的:監(jiān)視代碼中變量的變化情況饥臂,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 4,985評(píng)論 0 6
  • 從前的才子都是青樓逞吩辏客 從前的帝王都是佳麗三千 從前的男人都是三妻四妾 從前也不是那么美好單純 相反當(dāng)代女性地位大...
    羅曼集閱讀 177評(píng)論 0 0