[Feature][T108][task-view-1680] add config log level function based on emmc health status
Only Configure: No
Affected branch: GSW_V1453
Affected module: log
Self-test: yes
Doc Update: no
Change-Id: I04016305adef54ce8fc043d9f0097789a6cb0551
diff --git a/mbtk/rootfs/etc/mbtk/gsw_log_manage.sh b/mbtk/rootfs/etc/mbtk/gsw_log_manage.sh
index 6be2349..ee55e8d 100755
--- a/mbtk/rootfs/etc/mbtk/gsw_log_manage.sh
+++ b/mbtk/rootfs/etc/mbtk/gsw_log_manage.sh
@@ -6,6 +6,8 @@
LOG_DIR="/media/var/log"
G_LOG_DIR=""
G_LOG_DIRS=""
+G_LOG_LEVLE_CONFIG_FILE="/etc/telinit"
+G_EMMC_HEALTH_NODE="/sys/kernel/debug/mmc0/mmc0:0001/health"
AP_LOG_MAX_SIZE=$(((300-20) * 1048576)) # 300MB-10MB*2(radio_log.txt)
CP_LOG_MAX_SIZE=$(((600-60) * 1048576)) # 600MB-60MB(sdlog00x.sdl)
@@ -403,10 +405,39 @@
return 0
}
+set_log_level() {
+ local log_level=8
+
+ if [ -f "$G_EMMC_HEALTH_NODE" ]; then
+ emmc_health=$(cat "$G_EMMC_HEALTH_NODE" | awk 'NR==1' | sed 's/.*-\([0-9]\{3\}\).*/\1/')
+ else
+ emmc_health=8
+ fi
+
+ LOGI "emmc_health:$emmc_health"
+
+ if [ $emmc_health -ge 50 ] && [ $emmc_health -lt 70 ]; then
+ log_level=5
+ elif [ $emmc_health -ge 70 ]; then
+ log_level=0
+ fi
+ if [ "$log_level" -ne 8 ]; then
+ sed -i "s/\(setprop sys.default.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ sed -i "s/\(setprop sys.cp_load.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ sed -i "s/\(setprop sys.atcmdsrv.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ sed -i "s/\(setprop sys.ciClientStubTas.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ sed -i "s/\(setprop sys.nvmproxy.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ sed -i "s/\(setprop sys.rild.loglevel \)\S*/\1${log_level}/" "$G_LOG_LEVLE_CONFIG_FILE"
+ LOGI "set log level: $log_level"
+ fi
+ return 0
+}
+
(
#开机延迟200秒执行
sleep 200 ; \
- #处理上一次开机遗留的cp log(sdlog000.sdl会被覆盖)
+ set_log_level; \
+ #处理上一次开机遗留的cp log(sdlog000.sdl会被覆盖)
cp_log_previous_boot_process "$LOG_DIR" ; \
#创建LOG存储文件夹
create_log_dir "$LOG_DIR" ; \