每個 package 在 call log.X( ) 時,會 output 到不同的 buffer。
至於怎麼決定要 output 的 buffer,參考:
system/core/liblog/logd_write.c:
log_id_t log_id = LOG_ID_MAIN;
if (!tag)
tag = "";
/* XXX: This needs to go! */
if (!strcmp(tag, "HTC_RIL") ||
!strncmp(tag, "RIL", 3) || /* Any log tag with "RIL" as the prefix */
!strcmp(tag, "AT") ||
!strcmp(tag, "GSM") ||
!strcmp(tag, "STK") ||
!strcmp(tag, "CDMA") ||
!strcmp(tag, "PHONE") ||
!strcmp(tag, "SMS"))
log_id = LOG_ID_RADIO;
所以是依照 呼叫 Log 時,第一個參數 字串決定的。
所以要變更某 package 的 log output buffer ,就只有改這個地方囉..hard code tag compare string..
沒有留言:
張貼留言