Android logcat log輸出控制

2021-10-09 03:01:18 字數 3450 閱讀 1009

清除log

logcat -c
指定pid的log輸出

logcat --pid=
android log 通過系統屬性persist.log.tag 和persist.log.tag.***決定相關log的指定等級及以上才可以寫入logd,***是指某個tag,不過這個系統屬性只能設定5個,而且tag長度不能太長。

禁止所有log tag 輸出,設定所有log s等級及以上的log才能輸出,s等級最高,v等級最低

setprop persist.log.tag s
使能所有log tag 輸出,設定所有log v等級及以上的log才能輸出

setprop persist.log.tag v
//禁止log tag 為 mytag 輸出,設定log tag 為 mytag s等級及以上的log才能輸出

setprop persist.log.tag.mytag s
//使能log tag 為 mytag 輸出,設定log tag 為 mytag v等級及以上的log才能輸出

setprop persist.log.tag.mytag v
使用組合1:只開啟log tag為audio的log:

setprop persist.log.tag s

setprop persist.log.tag.audio v

使用組合2:只禁止log tag為audio的log:

setprop persist.log.tag.audio s
附:等級有verbose,debug,info,warn,error,fata,silent

永久設定所有緩衝區大小為8m,重啟生效

setprop persist.logd.size 8m
暫時設定所有緩衝區大小為4m,立即生效,但是acc off/on後失效

logcat -g 4m
暫時設定main緩衝區大小為4m,立即生效

logcat -b main -g 4m
log buffer大小檢視

logcat -g
logd丟失log會先刪除黑名單的log,然後刪除普通log。最後還不夠的話再刪除白名單的log。 設定黑白名單。可以對uid,pid設定,也可以uid/pid一起設定。設定黑名單,字首~

指令說明

logcat -p ~520881 ~/78883 ~52189/8883

對uid 520881,對pid78883,對uid/pid 52189/8883 設定黑名單。

logcat -p 520881/666

對uid/pid 520881/666設定白名單

logcat -p

檢視黑白名單

指令說明

logcat -k

檢視當前允許輸出的log等級

logcat -g

og buffer大小檢視

logcat -s 「log_tag1」 「log_tag2」

只允許某些log_tag輸出

logcat 「log_tag1:s」 「log_tag2:s」

不允許某些log_tag輸出

logcat -b ***

檢視***buffer 的 log,logbuffer環形緩衝區在system/core/include/log/log.h中log_id中定義。有main,radio,event,system,crash,security,error,perf,kernel

logcat -b main

檢視main buffer log ,是我們平時正常使用的buffer,

logcat -b crash

程式crash相關的log

logcat -v threadtime -f /data/log/log -r2048 -n 49 //-v :threadtime格式輸出,-f指建立檔案 /data/log/log,-r2048指每個檔案大小20485k,-n 49 建立49+1個檔案

設定輸出格式的日誌訊息。預設是短暫的格式。支援的格式列表

logcat -v
格式

說明brief

顯示優先順序/標記和過程的pid發出的訊息(預設格式)

process

只顯示pid

tag只顯示優先順序/標記

raw顯示原始的日誌訊息,沒有其他元資料字段

time

呼叫顯示日期、時間、優先順序/標籤和過程的pid發出訊息

threadtime

呼叫顯示日期、時間、優先順序、標籤遺跡pid tid執行緒發出的訊息

long

顯示所有元資料字段與空白行和單獨的訊息

指令說明

logk -e 0

關閉 kernel log 輸出,user版預設為0

logk -e 1

使能 kernel log 輸出

logk -p

檢視 kernel log 狀態

logk -f 檔案

列印 kernel log 到檔案

logd讀取logdw時會對超過對應android 原生 id(main,system etc)buffer大小進行裁剪,buffer大小在logbuffer.cpp中"persist.logd.size","ro.logd.size"系統屬性設定。該系統屬性在device/fsl/tamago_1t(other)/boardconfig.mk中additional_build_properties += ro.logd.size=2048k設定。

logcat輸出log到檔案,系統啟動時會在init.rc: service elog_service /system/bin/logcat -v threadtime -f /data/log/log -r2048 -n 49(-v :threadtime格式輸出,-f指建立檔案 /data/log/log,-r2048指每個檔案大小20485k,-n 49 建立49+1個檔案)啟動system/bin/logcat程序,該程序會一直在後台執行並讀取logdr socket 的log。當有乙個檔案log寫滿的時候logcat.cpp中rotatelogs()函式就會對這些log檔案進行迴圈滾動更新,由於log檔案有0~49個,所以每次迴圈49次,因此迴圈次數#define default_max_rotated_logs 49,kernel log則由logk負責輸出不過log**從kmsg檔案中讀取,init.rc中啟動logk指令 service logk_service /system/bin/logk -f /data/log/kernel_log,logk.cpp中rotatelogs迴圈更新個數為4,所有輸出kernellog0~4。

poj 3940 Grey Area 浮點輸出控制

水題,直接貼 注意幾種控制浮點輸出的方法 e格式,以指數形式輸出實數。g格式 自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。poj 3940 sep9 include using namespace std const int maxl 64 int cnt maxl 10 double...

LINUX C語言printf輸出的屬性控制

設定輸出前景色 define print font bla printf 033 30m 黑色 define print font red printf 033 31m 紅色 define print font gre printf 033 32m 綠色 define print font yel ...

星空 控控控 上ke控 新浪部落格

摸不到的顏色是否叫彩虹 看不到的擁抱是否叫做微笑 乙個人想著乙個人 是否就叫寂寞 命運偷走如果只留下結果 時間偷走初衷只留下苦衷 你來過然後你走後 只留下星空 那一年我們望著星空 有那麼多的燦爛的夢 以為快樂會永久 像不變星空 陪著我獵戶天狼 侄女光年外的寂寞 回憶青春 夢想何時常常隱沒 我愛過然後...