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

2021-07-27 08:53:42 字數 1771 閱讀 7783

android的日誌系統有典型的android層次結構。本文指出路徑,分析層次但不分析**,這裡還介紹logcat的使用和log_bg服務。想看**具體分析看部落格android應用程式框架層和系統執行庫層日誌系統源**分析。

wzjdy.cc

1.先從驅動開始 linux-3.10/drivers/staging/android/logger.c

linux-3.10/drivers/staging/android/logger.h

logger_init建立4個日誌裝置檔案/dev/main、/dev/events、/dev/radio、/dev/system。

分析**的話跟蹤結構體static const struct file_operations logger_fops例項化的函式進行分析。

2.c/c++本地庫和android實時執行庫層 在android/system/core/liblog目錄下,分析android.mk可知主要是logd_write.c和fake_log_device.c其它根據with_mingw配置。

3.jni frameworks/base/core/jni/android_util_log.cpp

然後slog.e(tag,"***")使用錯誤日誌

現在分層

**路徑android/system/core/logcat/logcat.cpp,輸入logcat --h檢視幫助。

這裡我們修改logcat.cpp設定日誌系統預設每個日誌檔案的大小,日誌檔案的個數

static int g_logrotatesizekbytes = 4096; // 0 means "no log rotation"

static int g_maxrotatedlogs = 10; // 0 means "unbounded"

每個日誌檔案最大4m,最多10個。當10個日誌寫滿有最新的日誌時,原日誌名尾號9刪除,其餘尾號+1,最新日誌寫到尾號0的日誌。實現固定大小,迴圈使用。

log_bg.sh工具

android/device/softwinner/common/tools/log_bg.sh

前面幾個迴圈是計數,刪除,重新命名。

系統日誌logcat -v time -f /cache/local/boot_log/aw_$_system_boot.log &

核心日誌cat /proc/kmsg >> /cache/local/boot_log/aw_$_kernel_`date +%y%m%d-%h%m`.log &

android開機就會記錄日誌記錄,輸入ps查詢到

root      1668  1646  1632   948   c0122258 b6f57720 s logcat

在init.rc檔案中查詢發現日誌服務的啟動位置android/device/softwinner/common/init.debug.rc

service log_bg /system/bin/sh /system/bin/log_bg.sh

class core

user root

group root system

oneshot

logger.sh工具

android/device/softwinner/common/tools/logger.sh

實際這個工具根據輸入引數kernel、android、radio、error呼叫logcat

Android系統分享

android系統分享目前無法同時分享文字和 1 建立intent,action為intent.action send intent shareintent new intent intent.action send shareintent.setflags intent.flag activity...

android系統日誌

系統日誌主要包含 log命令詳解 logcat本身是android的shell的乙個命令,你可以通過 adb shell 進入shell後執行logcat命令,也可以通過 adb logcat 直接執行。語法 adb logcat 選項 b 指定要檢視的日誌緩衝區,可以是system,events ...

Android新建系統分割槽

平台 rk3368 系統 android8.1 上為了保留一些檔案在系統公升級和燒錄後不被擦除,因此新建了個不被擦除的分割槽,在此記錄下方法。分割槽表檔案路徑 device rockchip rk3368 parameter.txt,其中mypartition是我建立的分割槽,格式為 大小 位址 分...