android系統日誌

2021-07-14 23:08:48 字數 1569 閱讀 4302

系統日誌主要包含:log命令詳解:

logcat本身是android的shell的乙個命令,你可以通過「adb shell」進入shell後執行logcat命令,也可以通過」adb logcat」直接執行。

語法:

[adb] logcat … …

選項:

-b 指定要檢視的日誌緩衝區,可以是system,events ,radio,main . 預設值是system和main 。

-c 清楚螢幕上的日誌.

-d 輸出日誌到螢幕上.

-f 指定輸出日誌資訊的 ,預設是stdout .

-g 輸出指定的日誌緩衝區,輸出後退出.

-n 設定日誌的最大數目 .,預設值是4,需要和 -r 選項一起使用。

-r 每 時輸出日誌,預設值為16,需要和-f 選項一起使用.

-s 設定預設的過濾級別為silent.

-v 設定日誌輸入格式,預設的是brief 格式,要知道更多的支援的格式,參看controlling log output

引數 引數用於對某類的tag的日誌輸出進行過濾。每乙個輸出的android日誌資訊都有乙個tag和它的優先順序.

日誌的標籤是系統部件原始資訊的乙個簡要的標誌。這個tag就是log.i,log.d,log.i,log.w,log.e,log.wtf系列函式中的tag.

對於system.out.print系列函式所對於的tag,其實就是」system.out」

以「tag:priority」的形式來對日誌輸出進行過濾的

優先順序priority有以下幾種,按照從低到高順利排列如下:

v — verbose (lowest priority) 對應於log.i()系列函式

d — debug 對應於log.d()系列函式

i — info 對應於log.i()系列函式

w — warning 對應於log.w()系列函式

e — error 對應於log.e()系列函式

f — fatal 對應於log.wtf()系列函式

s — silent (highest priority, on which nothing s ever printed)

怎樣構建乙個日誌應用:

* 大致思路:

* 1,運用環境命令 logcat -c,清除掉殘餘的快取資訊。

* 2,呼叫環境命令 ps,獲取到所有的程序資訊list,並將其封裝到processinfo類裡面

* 3,殺掉由本使用者呼叫起的其他logcat程序。(利用使用者pid和使用者name)

* 4,可以放心的執行logcat -f /storage/sdcard0/ff.log -v time *:e了

注意

1,呼叫runtime.getruntime().exec(「ps」)命令時,會在當前使用者下建立乙個子程序,返回乙個process,新建了該程序就一定要找時候殺死這個程序。

2,在沒有root的裝置上,該logwriter應用只能寫自己發生的日誌。

android系統的日誌系統分層與logcat使用

android的日誌系統有典型的android層次結構。本文指出路徑,分析層次但不分析 這裡還介紹logcat的使用和log bg服務。想看 具體分析看部落格android應用程式框架層和系統執行庫層日誌系統源 分析。wzjdy.cc 1.先從驅動開始 linux 3.10 drivers stag...

Android 日誌記錄

完美的格式化輸出 包含了執行緒,類,方法資訊 支援跳轉到原始碼處,支援格式化輸出json xml格式資訊 logger 的 github 主頁 新增依賴 compile com.orhanobut logger 1.15 string tag my log logger.init tag 自定義設定...

Android 日誌列印

一 jakewharton timber 描述 只有乙個timber類,精簡。功能 1 可列印格式化訊息和異常訊息 2 預設tag是當前類類名,timber.tag 方法可改變本次列印的tag 原始碼設計分析 1 timber定義了抽象樹 森林 儲存樹的佇列 以及乙個分發樹 遍歷呼叫森林的樹 這麼設...