站內搜尋

2014/9/2

[Android] References of Log System

最近這一陣子因為工作需求,玩起了 Log System。
在 Android 上,除了 Google 自己做的 Logcat 之外,其實大多數的除錯還是相當依賴 Linux 一些傳統的 Debug 工具的,也因此花了一點時間看看東看看西。
我個人不是 Linux 的專家,這幾天看來的心得也不值一提,但可以提供一些網站,提供有興趣的人參考吧。
以下為一篇中文 Blog,寫的滿淺顯易懂,但又把許多重點都點到的,可以看這篇來取得一個概觀。
Linux上的核心訊息紀錄機制解析

這是另一個網站,也是在討論 Log System 的實作及 API 等,初探應該可以拿來參考。
Kernel logging: APIs and implementation

除了以上的兩個比較偏 Linux Log System 的文章之外,在這裡也附上一個滿有趣的 Debug 方式。

一般我們在進行比較偏系統的 debug 的時候,往往會需要對映到兩三份 log,同時的在上面找查資料,但其實這些 log 是可以整成一份來看的。

如果是只單純針對 Logcat 而言,希望看到兩種不同的類型,其實只要將 -b 參數下兩次就行了,如下所示:
logcat -b main -b radio -f /sdcard/mixed.log

而如果是要加入 kernel log 一起 debug 該如何處理呢?
其實也是有辨法的,請參考以下的做法,將 Logcat 導入 kmsg 便可以輸出到 kernel log 中了:
# 寫法 1
logcat -v time -b main >> /dev/kmsg &
# 寫法 2
logcat -v time -b main -f /dev/kmsg &

# 輸出
cat /proc/kmsg > sdcard/mixed.log

以上兩個方法都可以將 logcat 導入 kernel log 中,如此一來,便會有兩組 timestamp,並且有一個相對好閱讀且有序的 log file,對 debug 應該是有一定程度的幫助的。

以上,分享給各位吧。

熱門文章