系統日誌主要包含: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定義了抽象樹 森林 儲存樹的佇列 以及乙個分發樹 遍歷呼叫森林的樹 這麼設...